有没有办法强制计算机通过使用java代码更改其日期格式?我的应用程序使用指定的格式将日期存储在字符串中,并存储在磁盘上的文件中。所选择的格式只影响字符串变量,但不影响文件,因为它强制使用系统区域设置。我试图设置区域设置或更改SimpleDateFormat()中的默认区域设置,但它没有去。我不明白为什么系统设置强制String遵循日期模式。任何澄清将不胜感激。系统日期格式
系统日期格式
回答
你的问题并不十分清楚。没有“系统日期格式”这样的东西。
避免遗留日期时类
与Java的早期版本中捆绑的旧日期,时间类已被证明是麻烦的,混乱的,和有缺陷的。避免java.util.Date
,.Calendar
和SimpleDateFormat
。这些现在是遗留的,由java.time类代替。
ISO 8601
如果您在序列化文件为文本的日期时间值到磁盘,使用标准ISO 8601格式。这些格式在各种文化中都很直观,毫不含糊,而且越来越流行,包括新的互联网和信息标准。
java.time类在解析/生成日期时间值字符串时默认使用ISO 8601格式。
使用Instant
类以分辨率达到纳秒获取UTC的当前时刻。
Instant instant = Instant.now();
生成一个字符串以表示该时刻为标准ISO 8601格式的文本。
String output = instant.toString();
2016-12-04T06:12:13.455Z
容易再次解析回到对象。
Instant instant = Instant.parse("2016-12-04T06:12:13.455Z");
通常最好以UTC工作,但如果需要,您可以将该时刻调整为时区。
ZoneId z = ZoneId.of("America/Montreal");
ZonedDateTime zdt = instant.atZone(z);
String outputZdt = zdt.toString();
2016-12-04T01:12:13.455-05:00 [美国/蒙特利尔]
关于java.time
的java.time框架是建立在Java 8和更高版本。这些类取代了日期时间类legacy,如java.util.Date
,Calendar
,& SimpleDateFormat
。
Joda-Time项目现在位于maintenance mode,建议迁移到java.time。请参阅Oracle Tutorial。并搜索堆栈溢出了很多例子和解释。规格是JSR 310。
从何处获取java.time类?
- Java SE 8和SE 9后来
- 内置。
- 带捆绑实现的标准Java API的一部分。
- Java 9增加了一些次要功能和修复。在ThreeTen-Backport
- Java SE 6和SE 7
- 大部分的java.time功能后移植到Java 6 & 7。
- Android
- 的ThreeTenABP项目适应ThreeTen-反向移植(上述)为Android特异性。
- 请参阅How to use…。
的ThreeTen-Extra项目与其他类扩展java.time。这个项目是未来可能增加java.time的一个试验场。
非常感谢您罗勒的帮助。您明确表示,我需要更多的阅读和练习。我的意思是系统日期格式化控制面板中的设置 - >用户为操作系统设置日期和时间格式的区域。该格式似乎覆盖了JVM环境以外的所有内容,例如我在系统上设置的文件。对不起,我没有提前回复,因为我没有收到有关您评论的电子邮件通知。 –
- 1. 转换任何日期格式的系统日期格式
- 2. JavaScript - 获取系统短日期格式
- 3. Java中的系统日期格式
- 4. SqlDatareader GetValue根据系统日期格式返回日期值
- 5. VBA:为所有系统日期格式设置excel日期格式
- 6. Aspose.cells自定义日期格式与操作系统日期格式无关
- 7. 使用Time.getCurrentTimezone()使用系统格式的格式日期
- 8. 如何在Excel中将日期格式格式化为系统日期格式VBA
- 9. 更改Windows 7文化不反映在系统日期格式?
- 10. java将小时添加到系统日期和yyyyMMddHHmmss格式
- 11. 获取系统日期格式字符串的Win32
- 12. 网站如何知道您的公制系统,日期格式...?
- 13. crm 2011试用系统中的日期格式
- 14. 使用什么系统默认日期格式?
- 15. 使用自定义格式访问当前系统日期
- 16. Datagridview日期时间格式不使用系统区域设置
- 17. 获得Android系统的首选日期格式字符串
- 18. 如何获取系统日期时间格式?
- 19. 将SQL系统日期时间转换为非标准格式
- 20. Javascript - 检索操作系统日期格式
- 21. Delphi7:获取SQL服务器系统日期和时间格式
- 22. 如何确定用户的本地系统的日期格式
- 23. 统一日期格式 - 如何?
- 24. 如何在DataGridViewColumn中使用服务器日期时间格式而不是系统日期时间格式
- 25. 预约系统日期
- 26. SQL当前系统日期
- 27. 显示系统日期
- 28. 获取系统日期ddmmyyyy
- 29. 日期(“8601格式日期”)?
- 30. 日期格式为日期
向我们显示您的代码。但在此之前,请参阅[如何完成最小化,完整和可验证示例](/ help/mcve)。 –
这个问题没有意义。提供更多的细节和示例代码。如果您将日期时间值作为文本写入文件,应该很容易在从应用程序中提取的代码片段中演示。 –
欢迎来到Stack Overflow!请查看我们的[SO问题清单](http://meta.stackoverflow.com/questions/260648/stack-overflow-question-checklist)来帮助你提出一个好问题,从而得到一个很好的答案。 –