我已经尝试过一百万种不同的方法,但是没有用。任何帮助将非常感激。
long millis = getMillisFromServer();
Date date = new Date(millis);
DateFormat format = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
format.setTimeZone(TimeZone.getTimeZone("Australia/Sydney"));
String formatted = format.format(date);
上面的方法不起作用。
基本上,我想做的是获取纪元时间并将其转换为澳大利亚时间。我的当地时间是+05.30,但是我当然不希望这成为促成这种转化的因素。
编辑-
当我运行您的确切代码时,输出
时代1318388699000
2011年10月12日星期三08:34:59 GMT + 05:30
12/10/2011 03:04:59
12/10/2011 14:04:59
编辑:好的,所以您不希望您的 当地时间 (不是澳大利亚)为结果做出贡献,而是希望您选择澳大利亚时区。这样,您现有的代码就可以了,尽管悉尼目前是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()
并查看其内容…并检查您的代码是否有错别字:)
我试图找出如何在Kotlin中将转换为,这在Java中非常简单,但我在Kotlin中找不到任何等效的。 例如:历元时间戳(1970-01-01以来的秒数)== 在Kotlin中是否有解决方案,或者我是否必须在Kotln中使用Java语法?请给我一个简单的例子来说明如何解决这个问题。提前谢谢。 这个链接不是我问题的答案
问题内容: 有谁知道如何将JS dateTime转换为MySQL datetime?还有一种方法可以向JS日期时间添加特定的分钟数,然后将其传递给MySQL日期时间? 问题答案: 尽管JS确实拥有足够的基本工具来执行此操作,但它相当笨拙。
问题内容: 我正在尝试将日期从格式转换为SQL Server中的格式。 我正在使用以下命令 我尝试在msdn上查找受支持的样式,但没有找到完全匹配的样式。 帮助将不胜感激。 问题答案:
问题内容: 我需要一种简便的方法,可以在不使用任何库的情况下将日期时间戳转换为UTC(从服务器所在的任何时区)。 问题答案: 尝试getTimezone和setTimezone,请参见示例 (但这确实使用了一个类) 更新: 没有任何类,您可以尝试这样的事情: 注意:您可能还需要将时区设置回原始
问题内容: 从服务器上,我得到了这种格式的datetime变量:它是UTC时间。我想使用JavaScript将其转换为当前用户的浏览器时间。 如何使用JavaScript或jQuery完成此操作? 问题答案: 在将字符串转换为javascript中的日期之前,将’UTC’附加到字符串中:
问题内容: 我当前的代码: 结果: = 1415639000.67457 = 2014-11-10 17:03:20 +0000只是为了测试以查看提供了什么。 我希望第一个看起来像最后一个。dt的值= 1415637900。 另外,如何调整时区?在 iOS上 运行。 问题答案: 为了使日期显示为当前时区,我使用了以下内容。 Swift 3.0版本 斯威夫特5