This question already has answers here:
Java How to get time printed in IST
(2个答案)
去年关闭。
我有一个文本视图,其上应显示日期时间,如下所示。
我尝试在android studio中进行简单的单元测试,它会打印出我想要的确切结果
我的考试班
输出量
但是当我在Activity中的TextView上显示它时,它显示的内容如下所示
我不知道自己犯了什么错误,谁能帮助我实现目标。还要注意,IST并非对于所有结果都是静态的,应该动态取决于用户的时间zome。
(2个答案)
去年关闭。
我有一个文本视图,其上应显示日期时间,如下所示。
2018-04-25T12:40:15 IST
我尝试在android studio中进行简单的单元测试,它会打印出我想要的确切结果
我的考试班
public class ExampleUnitTest {
@Test
public void addition_isCorrect() {
Date now = Calendar.getInstance().getTime();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss z");
sdf.setTimeZone(TimeZone.getDefault());
System.out.println(sdf.format(now) );
}
}
输出量
2018-04-25T12:40:15 IST
但是当我在Activity中的TextView上显示它时,它显示的内容如下所示
2018-04-25T12:31:29 GMT+05:30
我不知道自己犯了什么错误,谁能帮助我实现目标。还要注意,IST并非对于所有结果都是静态的,应该动态取决于用户的时间zome。
最佳答案
我会去寻找Anuraag的答案,并显示完整的时区名称。
像IST和EST这样的缩写不是理想的,因为它们不是标准化的,甚至不是唯一的,请参见以下答案以获取更详细的说明:https://stackoverflow.com/a/18407231
示例:印度,以色列和爱尔兰使用IST,但您不知道它是哪一个。 EST被美国和澳大利亚使用,依此类推。
当然,在大多数情况下,用户会知道它是指他们所在的位置-印度的用户使用配置有印度时区的设备将显示IST,并且用户会知道它是正确的。但是,如果该用户前往爱尔兰或以色列并且不更改设备的设置怎么办?我想它可能会显示“ IST”,但使用该国的当地时间可能会造成混淆。我希望显示完整的时区ID并消除歧义。
10-06 09:23