package com.lion.util;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class TimeUtil {
	/**
	 * 方法描述 获取当前时间
	 * 
	 * @author dlm
	 * @since 2019年2月26日
	 * @return
	 */
	public static String getNowTime() {
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		Date date = new Date();
		return sdf.format(date);
	}
	public static String getNowTimeSSS() {
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ssSSS");
		Date date = new Date();
		return sdf.format(date);
	}
	public static String getNowTimeNYR() {
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
		Date date = new Date();
		return sdf.format(date);
	}
	public static String getNowTimeTwo() {
		SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
		Date date = new Date();
		return sdf.format(date);
	}

	/**
	 * 
	 * 方法描述 获取当前时间时间戳
	 * 
	 * @author xmf
	 * @since 2019年12月25日
	 * @return
	 * @throws Exception
	 */
	public static long getNowLongTime() {
		String starTime = getNowTime().substring(0, 10);
		SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
		Date datetime;
		long time = 0;
		try {
			datetime = simpleDateFormat.parse(starTime);
			time = datetime.getTime() / 1000;
			return time;
		} catch (ParseException e) {
			return time;
		}
	}

	/**
	 * 
	 * 方法描述 获取目标时间的时间戳
	 * 
	 * @author xmf
	 * @since 2019年12月25日
	 * @param etime
	 *            时间 "yyyy-MM-dd"
	 * @return
	 */
	public static long getLongTime(String etime) {
		String starTime = etime.substring(0, 10);
		SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
		Date datetime;
		long time = 0;
		try {
			datetime = simpleDateFormat.parse(starTime);
			time = datetime.getTime() / 1000;
			return time;
		} catch (ParseException e) {
			return time;
		}
	}

	/**
	 * 
	 * 方法描述 时间戳转换
	 * 
	 * @author mt.W
	 * @since 2019年5月31日
	 * @param s
	 * @return
	 */
	public static String dateToStamp(String s) {
		String res = "";
		SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		try {
			res = simpleDateFormat.format(s);
			return res;
		} catch (Exception e) {
			return "";
		}
	}
	/** 比较2个时间相差多少小时
	 * @param startTime
	 * @param endTime
	 * @return
	 */
	public static double returnDateHour(String startTime, String endTime) {
		SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		Date start_date;
		Date end_date;
		double cha = 0;
		try {
			start_date = format.parse(startTime);
			int new_dateTime = (int) (start_date.getTime() / 1000);
			end_date = format.parse(endTime);
			int end_dateTime = (int) (end_date.getTime() / 1000);
			cha = (double)(end_dateTime - new_dateTime) / (double)60 /60;
		} catch (ParseException e) {
			e.printStackTrace();
		}
		return cha;
	}
}
