Java中时间与时间戳的转换
1. 时间转换成时间戳
方式一:
/**
* 时间转换成时间戳,参数和返回值都是字符串
* @param s
* @return res
* @throws ParseException
*/
public static String dateToStamp(String s) throws ParseException {
String res;
//设置时间模版
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = simpleDateFormat.parse(s);
long ts = date.getTime();
res = String.valueOf(ts);
return res;
}
在主函数中设置参数与运行结果
String date=dateToStamp("2021-09-07 09:09:39");
System.out.println(date);
//结果:1630976979000
方式二:
/**
* 日期转换成时间戳,参数可以是日期,返回值是字符串
*/
public static void Date2TimeStamp() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String format = sdf.format(new Date());
try {
String valueOf = String.valueOf(sdf.parse(format).getTime() / 1000);
System.err.println(valueOf);
} catch (ParseException e) {
e.printStackTrace();
}
}
2. 时间戳转换成时间
方式一:
/**
* 将时间戳转换为时间,参数和返回值都是字符串
* @param s
* @return res
*/
public static String stampToDate(String s){
String res;
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
long lt = new Long(s);
Date date = new Date(lt);
res = simpleDateFormat.format(date);
return res;
}
在主函数中设置参数与运行结果
String s="1630339200000";
String date=stampToDate(s);
System.out.println(date);
//2021-08-31 00:00:00
方式二:
/**
* 时间戳先转换成日期字符串再转换成日期类型,参数是字符串,返回值是字符串也可是日期
*/
public static void TimeStamp2Date() {
String timestampString = "1631008034";
String formats = "yyyy-MM-dd HH:mm:ss";
Long timestamp = Long.parseLong(timestampString) * 1000;
//日期格式字符串
String dateStr = new SimpleDateFormat(formats, Locale.CHINA).format(new Date(timestamp));
System.err.println(dateStr);
Date date = null;
SimpleDateFormat formater = new SimpleDateFormat();
formater.applyPattern("yyyy-MM-dd HH:mm:ss");
try {
date = formater.parse(dateStr);
System.err.println(date);
} catch (ParseException e) {
e.printStackTrace();
}
}