Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使用时区偏移量将日期转换为时间?

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

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
"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 04:21:14

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

Java7 SimpleDateFormat javadoc:

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

票数 2
EN

Stack Overflow用户

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

试着在下面:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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 04:22:03

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

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

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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

复制
相关文章
JSR310新日期API(一)-时区与时间偏移量
最近刚好有新项目使用到JSR-310(JDK8)中引入的新日期API,打算做一下总结。本文编写基于JDK11,部分API可能是JDK9之后新增的。
Throwable
2020/06/23
1.9K0
当前时区时间 转换为 目标时区时间
张紫娃
2023/07/21
3250
当前时区时间 转换为 目标时区时间
目标时区时间 转换为 当前时区时间
张紫娃
2023/07/21
2480
目标时区时间 转换为 当前时区时间
dotnet 将任意时区的 DateTimeOffset 转换为中国时区时间文本
本文告诉大家在拿到任意时区的 DateTimeOffset 对象,将 DateTimeOffset 转换为使用中国的 +8 时区表示的时间
林德熙
2023/04/07
1.6K0
python将日期转换为时间戳_python – 将日期时间转换为时间戳,然后再返回
>>> local = datetime(2014, 1, 30, 23, 59, 40, 1999)
用户7886150
2021/01/19
3.5K0
linux 日期转换时间戳_将时间戳转为时间
最近项目上需要用到时间戳,查找了资源终于找到了实现方式,最后时间戳还需要转换成具体的日期格式,查阅了一些资料,还是没有找到具体的实现方式,所以这里总结一些,防止其他小伙伴就掉坑,实现是在freeRTOS系统上的,当前我在linux下尝试实现以下。
全栈程序员站长
2022/11/10
10.5K0
linux 日期转换时间戳_将时间戳转为时间
JS将日期转换为时间戳
1.getTime() 精确到毫秒 let date = new Date() let timeStamp = date.getTime() console.log(timeStamp) // 1606704849115 2.valueOf() 精确到毫秒 let date = new Date() let timeStamp = date.valueOf() console.log(timeStamp) // 1606704906237 3.parse() 精确到秒,毫秒会用000替代 let date
peng_tianyu
2022/12/15
13.4K0
java输出日期格式_java时区转换
public void setCreatedDate(Date createdDate) {
全栈程序员站长
2022/11/01
1.9K0
vue将时间戳转换成日期格式[通俗易懂]
(2)在vue文件中需要格式化时间戳的地方,使用filters过滤器,做如下处理:
全栈程序员站长
2022/07/22
6.8K0
常见问题: 时间戳如何转换日期时间格式?
在数据库、腾讯文档、金山轻维表、维格表里,正常显示的日期时间的格式是比如"2022/11/7",但是通过API传过来腾讯云HiFlow场景连接器里的值,是一个时间戳“1667750400”,所以如果要希望正常引用日期时间显示2022/11/7,就需要对这个时间戳需要再转换一次。
阿那个沫
2022/11/08
3.2K0
常见问题: 时间戳如何转换日期时间格式?
把当前时区时间视为某一时区时间 并将其转换为 目标时区时间
张紫娃
2023/07/21
1680
把当前时区时间视为某一时区时间 并将其转换为 目标时区时间
如何用python将中文日期转换为数字日期 | 答疑
大家好,这篇文章是在交流群的群友解疑过程中诞生的。 没想到黄同学在帮助群友后还记录了下来,所以就把这篇文章发出来。 问题 他有一个需求,就是对于日期的录入都是中文形式的,需要转换为数字形式的。 由于
朱小五
2020/03/09
3.1K0
Java 8 新特性|(新)日期API_时区日期时间
ZonedDateTime 和 LocalDateTime 类似,几乎有着相同的 API。
Java小技巧
2022/05/23
3630
Mysql日期转换函数、时间转换函数
MySQL 日期、时间转换函数:date_format(date,format), time_format(time,format) 能够把一个日期/时间转换成各种各样的字符串格式。它是 str_to_date(str,format) 函数的 一个逆转换。 2. MySQL Str to Date (字符串转换为日期)函数:str_to_date(str, format):
星辰sea
2022/10/29
7K0
[数据库基础]——快速浏览日期时间转换
阅读导航 数据库日期和时间类型 相互转换     time ⇌ date time ⇌ smalldatetime time ⇌ datetime time ⇌ datetime2 time ⇌ datetimeoffset date ⇌ smalldatetime date ⇌ datetime date ⇌ datetime2 date ⇌ datetimeoffset smalldatetime ⇌ datetime smalldatetime ⇌ datetime2 small
数据分析
2018/03/01
1.1K0
Python时间,日期,时间戳之间转换
1.将字符串的时间转换为时间戳    方法:        a = "2013-10-10 23:40:00"        将其转换为时间数组        import time        timeArray = time.strptime(a, "%Y-%m-%d %H:%M:%S")    转换为时间戳:    timeStamp = int(time.mktime(timeArray))    timeStamp == 1381419600 2.字符串格式更改    如a = "2013-10-10 23:40:00",想改为 a = "2013/10/10 23:40:00"    方法:先转换为时间数组,然后转换为其他格式    timeArray = time.strptime(a, "%Y-%m-%d %H:%M:%S")    otherStyleTime = time.strftime("%Y/%m/%d %H:%M:%S", timeArray) 3.时间戳转换为指定格式日期:    方法一:        利用localtime()转换为时间数组,然后格式化为需要的格式,如        timeStamp = 1381419600        timeArray = time.localtime(timeStamp)        otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)        otherStyletime == "2013-10-10 23:40:00"    方法二:        import datetime        timeStamp = 1381419600        dateArray = datetime.datetime.utcfromtimestamp(timeStamp)        otherStyleTime = dateArray.strftime("%Y-%m-%d %H:%M:%S")        otherStyletime == "2013-10-10 23:40:00" 4.获取当前时间并转换为指定日期格式    方法一:        import time        获得当前时间时间戳        now = int(time.time())  ->这是时间戳        转换为其他日期格式,如:"%Y-%m-%d %H:%M:%S"        timeArray = time.localtime(timeStamp)        otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)    方法二:        import datetime        获得当前时间        now = datetime.datetime.now()  ->这是时间数组格式        转换为指定的格式:        otherStyleTime = now.strftime("%Y-%m-%d %H:%M:%S") 5.获得三天前的时间    方法:        import time        import datetime        先获得时间数组格式的日期        threeDayAgo = (datetime.datetime.now() - datetime.timedelta(days = 3))        转换为时间戳:            timeStamp = int(time.mktime(threeDayAgo.timetuple()))        转换为其他字符串格式:            otherStyleTime = threeDayAgo.strftime("%Y-%m-%d %H:%M:%S")    注:timedelta()的参数有:days,hours,seconds,microseconds 6.给定时间戳,计算该时间的几天前时间:    timeStamp = 1381419600    先转换为datetime    import datetime    import time    dateArray = datetime.datetime.utcfromtimestamp(timeStamp)    threeDayAgo = dateArray - datetime.timedelta(days = 3)    参考5,可以转换为其他的任意格式了
py3study
2020/01/08
2.5K0
MySQL日期时间戳转换
1中的now()函数,返回当前时间的长日期,和2018-05-08 08:26:30格式相同
全栈程序员站长
2022/06/24
4.2K0
js将字符串时间转换为date对象_js转换日期格式
var s =’2018-10-09 10:23:12′; s = s.replace(/-/g,”/”); var date = new Date(s );
全栈程序员站长
2022/11/09
12.4K0
python 时间、日期、时间戳的转换
在实际开发中经常遇到时间格式的转换,例如: 前端传递的时间格式是字符串格式,我们需要将其转换为时间戳,或者前台传递的时间格式和我们数据库中的格式不对应,我们需要对其进行转换才能与数据库的时间进行匹配等。
py3study
2020/01/16
19.3K0
MySQL时间戳与日期时间转换
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/151927.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/10
7.9K0

相似问题

使用时区将时间解析为日期时间

123

将地区时区日期时间转换为LAS VEGAS时区日期时间

11

Javascript时区偏移量,日期时间

12

如何将时代时间转换为日期,时区以毫秒偏移量定义。

110

日期-时间转换时区

32
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文