Convert Java Date from one format to another without converting it into string(将Java日期从一种格式转换为另一种格式,而不将其转换为字符串)
问题描述
我正在尝试获取当前系统日期,并将其格式化为ETC/UTC,然后再格式化为"dd.MM.yyyy HH:mm z"格式。问题是格式化日期后的FORMAT函数返回的是字符串,而不是日期。下面是代码旋转框 final Date currentDate = new Date();
final SimpleDateFormat dateFormatter = new SimpleDateFormat("dd.MM.yyyy HH:mm z");
dateFormatter.setTimeZone(TimeZone.getTimeZone("Etc/UTC"));
String finalDateTime= dateFormatter.format(currentDate);
System.out.println(finalDateTime);
有没有其他解决方案可以让我通过保留在这个Date对象中来格式化日期,因为我研究了Java 8之后和Java 8之前的每个Date库,似乎如果我想格式化任何类型的Date或DateTime,我必须使用将给定日期转换为字符串的格式化工具。
是否有其他解决方案或不可能?
推荐答案
Date
表示单个时间点。就是这样,没有更多,没有更少。它不包含任何有关时区的信息。
Wed Jun 06 12:38:15 BST 2018
与Wed Jun 06 11:38:15 GMT 2018
相同,只是位于不同的时区。就像单词"人类"和"智人"一样。它们指的是相同的物种,只是它们的"格式"不同而已。
因此您不需要以任何方式更改日期。你只需要改变它的格式就行了。这就是格式化程序返回String
%s的原因。只有String
%s可以表示日期的一种特定格式。
这篇关于将Java日期从一种格式转换为另一种格式,而不将其转换为字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:将Java日期从一种格式转换为另一种格式,而不将


基础教程推荐
- 无法使用修饰符“public final"访问 java.util.Ha 2022-01-01
- 在 Libgdx 中处理屏幕的正确方法 2022-01-01
- “未找到匹配项"使用 matcher 的 group 方法时 2022-01-01
- 设置 bean 时出现 Nullpointerexception 2022-01-01
- Java:带有char数组的println给出乱码 2022-01-01
- FirebaseListAdapter 不推送聊天应用程序的单个项目 - Firebase-Ui 3.1 2022-01-01
- Java Keytool 导入证书后出错,"keytool error: java.io.FileNotFoundException &拒绝访问" 2022-01-01
- 如何使用 Java 创建 X509 证书? 2022-01-01
- 降序排序:Java Map 2022-01-01
- 减少 JVM 暂停时间 >1 秒使用 UseConcMarkSweepGC 2022-01-01