package com.jcloud.common;
import
java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
/**
* Created by Janesong on 2017/1/18. Updated on 2017/3/20.
*/
public class UnitConversion {
/**
*
* @param String dateStr
* @return String
*/
public static String dateToTimeStamp(String dateStr) {
try {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// String dateStr = simpleDateFormat.format(new Date());
String stamp = String.valueOf(simpleDateFormat.parse(dateStr).getTime() / 1000);
// System.out.println("Now time is " + dateStr);
return stamp;
} catch (Exception exLog) {
exLog.printStackTrace();
}
return "";
}
/**
* Java将Unix时间戳转换成指定格式日期字符串
*
* @param timestampString 时间戳 如:"1473048265";
* @return String 返回结果 如:"2016-09-05 16:06:42";
*/
public static String timeStampToDate(String timestampString) {
// if (TextUtils.isEmpty(formats))
// formats = "yyyy-MM-dd HH:mm:ss";
Long timestamp = Long.parseLong(timestampString) * 1000;
String time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA).format(new Date(timestamp));
return time;
}
/**
* 取得当前时间戳(精确到秒)
*
* @return String nowTimeStamp
*/
public static String getNowTimeStamp() {
long time = System.currentTimeMillis();
String nowTimeStamp = String.valueOf(time / 1000);
return nowTimeStamp;
}
/**
* 转换时间格式:将入参Date dateTime转换为指定格式format,并返回String型
* format = "yyyy-MM-dd HH:mm:ss" // 24H
* format = "yyyy-MM-dd hh:mm:ss" // 12H
* @param String dateTime, String formate
* @return String dateString
*/
public static String dateTimeToFormateTime(Date dateTime, String format) {
String dateString = "";
if (dateTime != null) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);
dateString = simpleDateFormat.format(dateTime);
}
return dateString;
}
/**
* 转换时间格式:将入参string strDate(符合formatOld格式)转为新格式formatNew,并返回String型
* 示例:Thu, 16 Mar 2017 12:35:52 GMT ,则formatOld="d MMM yyyy HH:mm:ss 'GMT'"
* @param String strDate,String formatOld, String formatNew
* @return String dateString
*/
public static String stringTimeToFormateTime(String strDate,String formatOld, String formatNew) throws Exception {
String dateString = "";
if (!(strDate.equals(null) && strDate.equals(""))) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("EEE, " + formatOld, Locale.US);
Date date = simpleDateFormat.parse(strDate);
simpleDateFormat = new SimpleDateFormat(formatNew);
dateString = simpleDateFormat.format(date);
// System.out.println(simpleDateFormat.format(date));
}
return dateString;
}
/**
* 判断:StartTime与EndTime时差是否超过24h
*
* @param String startTime, String endTime
* @return boolean
* @throws Exception
*/
public static boolean judgeStartToEndMore24(String startTime, String endTime) throws Exception {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
Date startDate = simpleDateFormat.parse(startTime);
Date endDate = simpleDateFormat.parse(endTime);
return (endDate.getTime() - startDate.getTime() >= 1000*60*60*24);
}
}