gpt4 book ai didi

java - 为什么 SimpleDateFormat.format() 和 SimpleDateFormat.parse() 只设置一个时区却给出不同的时间?

转载 作者:行者123 更新时间:2023-11-29 07:10:26 38 4
gpt4 key购买 nike

我正在尝试借助 SimpleDateFormat 将时区设置为不同国家/地区的时区。 SimpleDateFormat.format() 返回给定时区的正确当前时间,但 SimpleDateFormat.parse() 返回本地当前时间,我不知道为什么会这样。

这是我的代码:

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:MM:ss");
dateFormat.setTimeZone(TimeZone.getTimeZone("America/Los_Angeles"));
System.out.println("Time1 : " + dateFormat.format(new Date()));
System.out.println("Time2 : " + dateFormat.parse(dateFormat.format(new Date())));

输出是:

Time1 : 2013-01-17 21:01:55
Time2 : Fri Jan 18 10:30:55 IST 2013

Time1 是“America/Los_Angeles”的输出,Time2 是本地(即“Asia/Calcutta”)的输出。

我只想要 UTC 秒格式的给定时区的当前时间(即自 1970 年 1 月 1 日以来的秒数)。

为什么 SimpleDateFormat.format() 和 SimpleDateFormat.parse() 只设置一个时区却给出不同的时间?

最佳答案

使用Parse,您可以命令编译器理解特定格式的给定日期。它理解并以自己的格式保存它,并准备好提供您想要的任何格式!

您将获得一个输出,这是您输入的日期已成功解析的信号。您无法控制变量存储的日期格式。

使用格式,您可以将日期转换为任何需要的格式。

简单解析 -> 阅读(我可以以任何方式阅读它并以任何我想要的方式存储)Format -> Write(我给你你想要的格式)

关于java - 为什么 SimpleDateFormat.format() 和 SimpleDateFormat.parse() 只设置一个时区却给出不同的时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14393073/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com