Rad*_*ekh 1 java datetime simpledateformat java-8 java-date
我试图得到我当前的系统日期,并将其格式化为Etc/UTC,然后进入这个"dd.MM.yyyy HH:mm z"格式.问题是格式化日期后格式化函数返回一个字符串而不是日期.这是下面的代码spinet
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);
Run Code Online (Sandbox Code Playgroud)
是否有任何替代解决方案允许我通过将我保留在此日期对象中来格式化日期,因为我已经在java 8之后和java 8之前研究了每个日期库,看起来如果我想格式化任何类型的日期或日期时间,我必须使用格式化程序将给定日期转换为字符串.
任何替代解决方案或不可能吗?
Date代表一个单一的时间点.就是这样,仅此而已.它并没有包含有关时区的任何信息.
Wed Jun 06 12:38:15 BST 2018就像在不同的时区一样Date(即时)Wed Jun 06 11:38:15 GMT 2018.这就像"人类"和"同性恋者"这两个词.它们指的是同一物种,它们只是一种不同的"格式".
因此您无需以任何方式更改日期.你只需要以不同的方式格式化它.这就是格式化程序返回String的原因.只有Strings可以代表日期的一种特定格式.
| 归档时间: |
|
| 查看次数: |
366 次 |
| 最近记录: |