今天遇到一个问题,前端传date数据,后端用String类型接收到的字符串格式:
数据库存储的时候有两种,一种为varchar类型 另一种long类型
有两种方法:一种是字符串转字符串 ,另一种可以转成long类型存储时间戳
字符串转字符串
Tue Jan 03 14:55:03 GMT+08:00 2023 类型 ,要转成yyyy-mm-dd格式
public static String convertGMT(String strDate) throws ParseException {
SimpleDateFormat sf = new SimpleDateFormat("EEE MMM dd hh:mm:ss z yyyy", Locale.ENGLISH);
Date date = sf.parse(strDate);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String result = sdf.format(date);
return result;
}
通过这种方式进行转换,
如果GMT字符串格式是这种的:Sun Sep 02 2012 08:00:00 GMT+08:00
只需要改一下格式就可以了:
SimpleDateFormat sf = new SimpleDateFormat("EEE MMM dd yyyy hh:mm:ss z", Locale.ENGLISH);
转成long型
跟上面的一样 这里的strDate 就是上面的GMT格式字符串
SimpleDateFormat sf = new SimpleDateFormat("EEE MMM dd hh:mm:ss z yyyy", Locale.ENGLISH);
Date date = sf.parse(strDate);
long timeStamp =data.getTime();
如果有误请指正 谢谢