gpt4 book ai didi

java - 如何在 android 中将日期从 GMT TimeZone 解析为 IST TimeZone 反之亦然

转载 作者:搜寻专家 更新时间:2023-10-30 19:51:08 24 4
gpt4 key购买 nike

我正在开发一个项目,该项目在 IST(印度标准时间)中从后端获取日期/时间,如图所示 "2013-01-09T19:32:49.103+05:30"。但是,当我使用以下 DateFormat 解析它时

DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");

接着解析..

Date date = sdf.parse("2013-01-09T19:32:49.103+05:30");


System.out.println("XYZ ==============>"+date);

它以 GMT 格式显示日期作为输出即

Wed Jan 09 14:02:49 GMT+00:00 2013.

我已经尝试使用 TimeZone 类作为..

TimeZone timeZone=TimeZone.getTimeZone("IST");
sdf.setTimeZone(timeZone);

但没有效果..

我怎样才能得到一个 Date 类对象,其日期格式为 IST 而不是 GMT...

请提供合适的解决方案..

编辑:

代码是这样的:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");

TimeZone timeZone=TimeZone.getTimeZone("IST");
sdf.setTimeZone(timeZone);

Date date = sdf.parse("2013-01-09T19:32:49.103+05:30");
String formattedDate=sdf.format(date);

System.out.println("XYZ ==============>"+formattedDate);

最佳答案

日期没有任何时区。它只是自 1970 年 1 月 1 日 00:00:00 GMT 以来的毫秒数的持有者。采用您用于解析的相同 DateFormat,设置 IST 时区并按照以下示例格式化您的日期

    DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX");
Date date = sdf.parse("2013-01-09T19:32:49.103+05:30");
sdf.setTimeZone(TimeZone.getTimeZone("IST"));
System.out.println(sdf.format(date));

输出

2013-01-09T19:32:49.103+05:30

请注意,自 1.7 起,XXX 模式用于 ISO 8601 时区 (-08:00)。如果您使用的是 1.6,请尝试 Z。有关格式模式的详细信息,请参阅 SimpleDateFormat API

关于java - 如何在 android 中将日期从 GMT TimeZone 解析为 IST TimeZone 反之亦然,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14314426/

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