加载中...
PAGE

java 字符串、时间和时间戳之间的转换

Post on 2021-10-26 20 0

目录

前言

上次在写一个根据时间来查询数据的sql时,为了将前端传来的时间转化为java的Date类型数据,博主搞了差不多2个小时,(博主承认自己很菜)为了不让这种情况再次发生,就有了这个博文的诞生。

字符串转Date

例如 “2019-3-4 18:07:20” 这种时间字符串是可以直接用SimpleDateFormat里的转换方法进行转换的

String str = "2019-3-4 18:07:20"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); sdf.parse(str);//Mon Mar 04 18:07:20 CST 2019

如果你的时间字符串为"2019年3月4日 18:07:20"
则要将"yyyy-MM-dd HH:mm:ss" 换为"yyyy年MM月dd日 HH:mm:ss"即可

String str = "2019年3月4日 18:07:20"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); sdf.parse(str);//Mon Mar 04 18:07:20 CST 2019

但是博主由于前端使用的是element的组件库
时间选择器选择后传到后台的时间字符串为"2019-03-02T16:00:00.000Z"这种,则需要使用下面的方法

String str = "2019-03-02T16:00:00.000Z"; str = str.replace("Z", " UTC");//注意是" UTC" SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS Z"); sdf.parse(str);//Sun Mar 03 00:00:00 CST 2019

时间转字符串

Date date =new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); sdf.format(date);//"2019-03-04 18:54:58"

也可以只取日期部分或时间部分

Date date =new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); sdf.format(date);//"2019-03-04"
Date date =new Date(); SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); sdf.format(date);//18:56:48

时间转时间戳

时间转时间戳可以使用getTime方法直接获取时间的时间戳内容

Date date =new Date(); date.getTime();//1551697897315

时间戳转时间

时间戳转时间时,时间戳的格式必须为Long类型不可为String类型进行转换

String str = "1551697897315"; new Date(str); /** Exception in thread "main" java.lang.IllegalArgumentException **/

如果是String类型进行转换就会出现错误

String str = "1551697897315"; new Date(Long.valueOf(str));//Mon Mar 04 19:11:37 CST 2019

如果博文的有哪些问题或遇到别的问题请在下方留言

mycat 简单实现 读写分离

mycat 简单实现 读写分离

阅读更多
mybatis case when 报错

mybatis case when 报错

阅读更多
mysql 根据日期进行查询数据,没有数据也要显示空

mysql 根据日期进行查询数据,没有数据也要显示空

阅读更多

暂无评论

    发表评论
    返回顶部
    X