栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java日期更改格式[重复]

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java日期更改格式[重复]

请尝试将两个概念区分开:您的数据和向用户呈现的数据(或用于其他目的的格式设置,例如包含在JSON中)。的

int
保持值7可以表示为(格式化成)7,07,007或7,同时仍保持刚好相同的值而没有任何格式化信息-
外的格式化谎言
int
。同样,a
Date
具有一个时间点,它可以表示为(格式为“ 2017年6月1日,12:46:01.169”,“
2017/06/01”或“ 2017年6月1日”),相同的值,不包含任何格式信息-格式位于之外
Date


根据您的要求,一种选择是将日期存储为

Date
(或更好的是,现代日期和时间类之一的实例,如
LocalDate
),并保留一个格式化程序,以便您每次需要将其显示给用户。如果此方法不起作用,则需要以特定格式
存储 日期,然后将其存储为
String

Java 8(7,6)日期和时间API

现在,我一直在评论中使用较新的Java日期和时间类,因此,不向您展示它们是否有效可能是不公平的。该问题尝试将格式设置为

yyyy-MM-dd
,我们可以使用以下代码来实现。

    DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("uuuu/MM/dd");    for (LocalDate date : localDates) {        String formatterDate = date.format(dateFormatter);        System.out.println(formatterDate);    }

一口气我得到了

2017/05/232017/06/01

如果列表中的对象具有其他类型

LocalDate
,则大多数其他较新的日期和时间类型可以使用相同的方式以完全相同的方式进行格式化
DateTimeFormatter
Instant
在这方面有一点特殊之处,因为它不包含日期,但是您可以例如
myInstant.atZone(ZoneId.of("Europe/Oslo")).format(dateFormatter)
获取该日期在奥斯陆所在时区的日期。

现代类是在Java 8中引入的,在Java 9中得到了一些增强。它们已在ThreeTen
Backport中向后移植到Java
6和7,其中包括适用于Android的特殊版本ThreeTenABP。因此,我真的没有理由不解释为什么您不希望在自己的代码中使用它们。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/469727.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号