当前位置: 首页 > 面试题库 >

将时代时间转换为日期

邰胤
2023-03-14
问题内容

我已经尝试过一百万种不同的方法,但是没有用。任何帮助将非常感激。

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