首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使用时区偏移量将日期转换为时间?

如何使用时区偏移量将日期转换为时间?
EN

Stack Overflow用户
提问于 2013-11-12 12:01:40
回答 4查看 149关注 0票数 1

如何使用DateHH:mm+-GMT打印成格式

代码语言:javascript
代码运行次数:0
运行
复制
"EEE, d MMM yyyy HH:mm:ss Z"    Wed, 4 Jul 2001 12:08:56 -0700
"yyMMddHHmmssZ"                 010704120856-0700

我怎么能为上面的例子打印:13:01-7呢?那么,时区偏移量要用最短的可能值表示吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-11-12 12:21:14

如果您在Java 7上,可以使用X标志来获取时区。

Java7 SimpleDateFormat javadoc:

X时区ISO 8601时区-08;-0800;-08:00

票数 2
EN

Stack Overflow用户

发布于 2013-11-12 12:22:51

试着在下面:

代码语言:javascript
代码运行次数:0
运行
复制
import java.util.Date;
import java.text.SimpleDateFormat;

class array05{
  public static void main(String[] args){
      SimpleDateFormat sf = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z");
      System.out.println(sf.format(new Date()));
  }
}

对我来说,它一直在打印Вт, 12 ноя 2013 14:22:24 +0200

票数 1
EN

Stack Overflow用户

发布于 2013-11-12 12:22:03

理解计算机时间是如何工作是非常重要的。话虽如此,我同意,如果创建了一个API来帮助您像实时一样处理计算机时间,那么它的工作方式应该允许您将其视为实时处理。在大多数情况下,这是事实,但也有一些重大的疏忽,确实需要注意。

不管怎样,我离题了!!如果您有UTC偏移量(最好在UTC中工作,而不是GMT偏移量),则可以以毫秒为单位计算时间并将其添加到时间戳中。请注意,SQL时间戳可能与Java时间戳不同,因为计算时间间隔的方式并不总是完全依赖于数据库技术和操作系统。

我建议您使用System.currentTimeMillis()作为时间戳,因为可以在java中更一致地处理这些时间戳,而不必担心将SQL时间戳转换为java对象等。

要计算偏移量,可以尝试如下所示:

代码语言:javascript
代码运行次数:0
运行
复制
Long gmtTime =1317951113613L; // 2.32pm NZDT
Long timezoneAlteredTime = 0L;

if (offset != 0L) {
    int multiplier = (offset*60)*(60*1000);
    timezoneAlteredTime = gmtTime + multiplier;
} else {
    timezoneAlteredTime = gmtTime;
}

Calendar calendar = new GregorianCalendar();
calendar.setTimeInMillis(timezoneAlteredTime);

DateFormat formatter = new SimpleDateFormat("dd MMM yyyy HH:mm:ss z");

formatter.setCalendar(calendar);
formatter.setTimeZone(TimeZone.getTimeZone(timeZone));

String newZealandTime = formatter.format(calendar.getTime());

我希望这是有帮助的!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19928615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档