【问题标题】:Convert UTC timestamp to local timestamp with DST使用 DST 将 UTC 时间戳转换为本地时间戳
【发布时间】:2015-04-20 00:00:30
【问题描述】:

这是我执行此操作的代码。我的问题是 android(任何其他系统在内部处理 DST)。 DST 规则可以更改。或者这是一个太极端的情况,没有任何真正的问题。

public long getLocalTimeFromUTCTime(long utcTime)
{
    Time time = new Time();
    time.set(utcTime);
    TimeZone localTimezone = TimeZone.getDefault();
    time.switchTimezone(localTimezone.getID());
    time.normalize(false);
    return time.toMillis(false);
}

【问题讨论】:

  • 你解决了这个问题吗?

标签: android utc dst


【解决方案1】:

正如here 建议的那样,这似乎成功了:

SimpleDateFormat dateTimeFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
String date="2012-10-03T22:00:00.000+0000";
try {
    System.out.println(dateTimeFormat.getTimeZone().getDisplayName());
    System.out.println("Today : "+new Date().toString()+ ", Timezone Offset :" +
            +(new Date()).getTimezoneOffset());
    System.out.println("Parsed Date : "+
            dateTimeFormat.parse(date).toString()
            + ", Timezone Offset : "
            +dateTimeFormat.parse(date).getTimezoneOffset());           
} catch (ParseException e) {            
    e.printStackTrace();
}

更具体地说,你应该看看getTimezoneOffset()

【讨论】:

    猜你喜欢
    • 2019-08-15
    • 2019-03-09
    • 2019-01-05
    • 2013-03-23
    • 2011-02-06
    • 2018-09-17
    • 1970-01-01
    • 2019-04-30
    • 1970-01-01
    相关资源
    最近更新 更多