我当时是这样写的
/**
* 时间戳转换成时间
*/
public static String stampToDate(long stamp, String format) {
SimpleDateFormat sdf = new SimpleDateFormat(format);//这个是你要转成后的时间的格式
Date date = new Date(stamp);
String sd = sdf.format(date);
return sd;
}
/**
* 时间戳转化时间
*
* @param milSecond
* @param pattern
* @return
*/
public static String getDateToString(String milSecond, String pattern) {
long lt = new Long(milSecond);
return stampToDate(lt,pattern);
}
为了方便调用 我写了两个方法 一个是当传入的时间戳是字符串的时候调用 一个是当时间戳传入的值是 long 类型的时候调用
但是每次的返回值都是1970年,从来没想过这样简单的问题还会出现错误,然后就是各种打断,查看是不是时间戳的问题 log 出来的值放到在线时间戳转换器中也是正确的时间 就查了查资料 就修改了一行代码
/**
* 时间戳转换成时间
*/
public static String stampToDate(long stamp, String format) {
SimpleDateFormat sdf = new SimpleDateFormat(format);//这个是你要转成后的时间的格式
Date date = new Date(stamp * 1000);
String sd = sdf.format(date);
return sd;
}
/**
* 时间戳转化时间
*
* @param milSecond
* @param pattern
* @return
*/
public static String getDateToString(String milSecond, String pattern) {
long lt = new Long(milSecond);
return stampToDate(lt,pattern);
}
将 Date date = new Date(stamp); 换成了Date date = new Date(stamp * 1000);然后问题解决
其原因应该就是毫秒和秒的问题 没有具体查询 欢迎书友指正错误
网友评论