好的,所以您不希望您的 本地 时间(不是澳大利亚)对结果做出贡献,而是澳大利亚时区.那么您现有的代码应该绝对没问题,尽管 悉尼目前是 UTC+11,不是 UTC+10.. 简短但完整的测试应用程序:
import java.util.*;
import java.text.*;
public class Test {
public static void main(String[] args) throws InterruptedException {
Date date = new Date(1318386508000L);
DateFormat format = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
format.setTimeZone(TimeZone.getTimeZone("Etc/UTC"));
String formatted = format.format(date);
System.out.println(formatted);
format.setTimeZone(TimeZone.getTimeZone("Australia/Sydney"));
formatted = format.format(date);
System.out.println(formatted);
}
}
输出:
12/10/2011 02:28:28
12/10/2011 13:28:28
我还建议您开始使用 Joda Time,这是一个更好的日期/时间 API...
请注意,如果您的系统不知道 Australia/Sydney 时区,它会显示 UTC.例如,如果我更改要使用 TimeZone.getTimeZone("blah/blah") 的代码,它将显示两次 UTC 值.我建议您打印 TimeZone.getTimeZone("Australia/Sydney").getDisplayName() 并查看它的内容...并检查您的代码是否有错别字:)
这篇关于将纪元时间转换为日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持前端之家!
本文链接:https://www.f2er.com/3175523.html