将Java日期从一种格式转换为另一种格式,而不将其转换为字符串 [英] Convert Java Date from one format to another without converting it into string

查看:0
本文介绍了将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 2018Wed Jun 06 11:38:15 GMT 2018相同,只是位于不同的时区。就像单词"人类"和"智人"一样。它们指的是相同的物种,只是它们的"格式"不同而已。

因此您不需要以任何方式更改日期。你只需要改变它的格式就行了。这就是格式化程序返回String%s的原因。只有String%s可以表示日期的一种特定格式

这篇关于将Java日期从一种格式转换为另一种格式,而不将其转换为字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆