java ISO 8601 日期格式进行转换
·
ISO 8601 日期格式进行转换
痛点
懂的都懂,烦死啦!嘤嘤嘤。
时间是让人猝不及防的东西,有时天晴,有时雨。如果时间有个倒退时光的API,我愿意回到原始社会,那里没有汽车,没有高楼,没有电脑,更不会有让人将时间转换为各种时间格式的需求,每天过着简单的生活,早上起来,先去看下昨天做的陷阱,有没有猎物掉进去,中午在树荫下沉思,手里搞几个水果,没事啃两口,傍晚看着夕阳,吹着晚风,围坐在篝火旁,忆往昔,峥嵘岁月稠,虽然可能也许大概maybe上顿吃了不晓得下一顿在哪里,也无妨,毕竟大家都一样。
方案一(不好用)
-
pom.xml引入joda-time<dependency> <groupId>joda-time</groupId> <artifactId>joda-time</artifactId> <version>2.9.9</version> </dependency> -
Date类型转yyyy-MM-dd'T'HH:mm:ss字符串@Test public void test1() { //当前时间转IS0 8601 TimeZone tz = TimeZone.getTimeZone("GMT-01"); DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); df.setTimeZone(tz); String nowAsISO = df.format(new Date()); System.err.println(nowAsISO); } -
IS0 8601字符串转为JDK包中的java.time.LocalDateTime对象,为什么要转jdk里的对象,因为不转,我保存不进mysql数据库鸭,烦死辣@Test public void test2() { String d = "2018-05-14T03:51:50Z"; DateTimeFormatter parser2 = ISODateTimeFormat.dateTimeNoMillis(); DateTime dateTime = parser2.parseDateTime(d); long millis = dateTime.getMillis(); // long millis = dateTime.getMillis()/1000; // java.time.LocalDateTime localDateTime = java.time.LocalDateTime.ofEpochSecond(millis, 0, ZoneOffset.ofHours(8)); java.time.LocalDateTime localDateTime = Instant.ofEpochMilli(millis).atZone(ZoneOffset.ofHours(8)).toLocalDateTime(); System.out.println(localDateTime); }
方案二(hutool yyds)
-
pom.xml引入依赖
<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.7.20</version> </dependency> -
字符串转日期
DateUtil.parse方法会自动识别一些常用格式,包括:
yyyy-MM-dd HH:mm:ss
yyyy/MM/dd HH:mm:ss
yyyy.MM.dd HH:mm:ss
yyyy年MM月dd日 HH时mm分ss秒
yyyy-MM-dd
yyyy/MM/dd
yyyy.MM.dd
HH:mm:ss
HH时mm分ss秒
yyyy-MM-dd HH:mm
yyyy-MM-dd HH:mm:ss.SSS
yyyyMMddHHmmss
yyyyMMddHHmmssSSS
yyyyMMdd
EEE, dd MMM yyyy HH:mm:ss z
EEE MMM dd HH:mm:ss zzz yyyy
yyyy-MM-dd'T'HH:mm:ss'Z'
yyyy-MM-dd'T'HH:mm:ss.SSS'Z'
yyyy-MM-dd'T'HH:mm:ssZ
yyyy-MM-dd'T'HH:mm:ss.SSSZ
String d = "2018-05-14T03:51:50Z";
Date date = DateUtil.parse(d);;
LocalDateTime转yyyy-MM-dd'T'HH:mm:ss.SSS'Z'
DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
LocalDateTime localDateTime =LocalDateTime.now();
Date date = Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
String format = DateUtil.format(date, df);
System.err.println(format);
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)