gpt4 book ai didi

java - 在日期对象中从 BST 到 Java 中的 IST 的日期转换

转载 作者:太空狗 更新时间:2023-10-29 15:59:56 26 4
gpt4 key购买 nike

我有一个场景,无论我的系统时区是什么,我都必须在日期对象中打印 IST 而不是在字符串中打印。这是我的以下代码。

public static void main(String[] args) throws ParseException {
Date now = new Date();
DateFormat sdf = new SimpleDateFormat("yyyy:MM:dd-HH:mm:ss");
sdf.setTimeZone(TimeZone.getTimeZone("IST"));
String txnDateTime = sdf.format(now);
sdf.setTimeZone(TimeZone.getTimeZone("IST"));
System.out.println("Date ::: "+txnDateTime);

Date n = null;
n = sdf.parse(txnDateTime);
System.out.println("Date format ::: "+n);

}

我的输出如下:

In String : I am getting as Expected : 2016:08:23-12:46:59 IST Timing
In Date : I am still getting BST Time : Tue Aug 23 08:16:59 BST 2016

我预计日期是 2016 年 8 月 23 日星期二 12:46:59 IST。

如有任何帮助,我们将不胜感激。

提前致谢。

最佳答案

Date.toString() 使用您的 JVM 的默认时区,因为 Date 实际上没有明确的时区 - 它实际上只是几毫秒的包装器。

您必须使用具有明确时区的 DateFormat 进行打印才能在特定时区打印 Date

关于java - 在日期对象中从 BST 到 Java 中的 IST 的日期转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39094723/

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