`
Jarymin
  • 浏览: 67761 次
  • 性别: Icon_minigender_1
  • 来自: Mars
社区版块
存档分类
最新评论

Java转换UTC时间:2008-02-13T14:15:44.000Z 怪异的时间格式

阅读更多
近日,把玩Google Pisaca API的时候发现返回一个这样的时间格式:
2008-02-13T14:15:44.000Z ,问人未果.
窃以为T,z应该是和时区有关,经过google果然这个就是传说中的UTC 通用标准时以z来标识
其它的时区显示的时间与通用协调时间不同,因此例如你能使用太平洋标准时间2007-12-25T06:00:00:000-8:00来显示2007年12月25日的早上6:00(它比UTC时间滞后8小时)。

这个没法使用,得转换下.
public class TimeZoneTest 
{ 
        public static void main (String args[]) 
        { 
                try 
                { 
                        String ts = "2007-10-23T17:15:44.000Z"; 
                        System.out.println("ts = " + ts); 
                        ts = ts.replace("Z", " UTC"); 
                        System.out.println("ts = " + ts); 
                        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS Z");

                         Date dt = sdf.parse(ts); 


                         TimeZone tz = sdf.getTimeZone(); 
                         Calendar c = sdf.getCalendar(); 
                         System.out.println("Display name: " + 
tz.getDisplayName()); 
                         System.out.println(getString(c)); 
                } 
                catch(ParseException pe) 
                { 
                        System.out.println("Error offset: " + pe.getErrorOffset()); 
                        pe.printStackTrace(); 
                } 
        } 


        private static String getString(Calendar c) 
        { 
                StringBuffer result = new StringBuffer(); 
                result.append(c.get(Calendar.YEAR)); 
                result.append("-"); 
                result.append((c.get(Calendar.MONTH) + 1)); 
                result.append("-"); 
                result.append(c.get(Calendar.DAY_OF_MONTH)); 
                result.append(" "); 
                result.append(c.get(Calendar.HOUR_OF_DAY)); 
                result.append(":"); 
                result.append(c.get(Calendar.MINUTE)); 
                result.append(":"); 
                result.append(c.get(Calendar.SECOND)); 
                return result.toString(); 
        } 



} 
  


运行结果:
ts = 2007-10-23T17:15:44.000Z 
ts = 2007-10-23T17:15:44.000 UTC 
Display name: Coordinated Universal Time 
2007-10-23 17:15:44 


分享到:
评论

相关推荐

    java转换时区时间过程详解

    在本文中,我们将详细介绍时区的概念、UTC时间、格林尼治时间、夏令时、区时转换等知识点,并提供Java代码示例来实现时区时间转换。 一、时区概念 时区是指一个地区或国家的标准时间,可以是正时区也可以是负时区...

    datetime时间格式转换大全

    - `'t'` 返回短时间格式(如 "14:30") - `'y'` 返回年份的简短表示(如 "2022年9月") - `'D'` 返回长日期格式,根据区域设置可能有多种表现形式 了解这些转换方法和格式代码后,我们就能更灵活地处理 `DateTime` ...

    mysql-connector-java-5.1.40.tar

    MySQL是世界上最受欢迎的开源数据库系统之一,而MySQL Connector/J则是MySQL官方提供的用于Java应用程序与MySQL数据库之间连接的Java Database Connectivity (JDBC) 驱动程序。`mysql-connector-java-5.1.40.tar` ...

    PHP 时间戳和日期时间转换

    `date()`函数用于格式化本地日期和时间,接受两个参数:一个是格式字符串,另一个是可选的时间戳。例如,`date('Y-m-d H:i:s')`会返回当前日期时间的标准格式。`DateTime`类提供了更强大的日期时间操作,如创建、...

    UTC2Time utc秒数时间与日期时间互相转换的工具

    utc秒数时间与日期时间互相转换的工具,注意是相互,不是单向。有时候有点用。

    毕设项目:基于SpringBoot+MyBatis-Plus 前后端分离的影院选座购票系统.zip

    characterEncoding=utf8&serverTimezone=UTC username: root password: 123456 cache: redis: #使用前缀 use-key-prefix: true #redis过期时间 time-to-live: 60s mybatis-plus: global-config: db-config...

    将Unix时间time_t扩展到2106-02-07 06:28:16 (原本Unix时间只能支持到2038-01-19 03:14:07)

    3. **使用其他时间格式**:开发新的时间表示格式,如使用两个32位整数分别表示年份和相对于该年的一秒数,或者使用年、月、日、小时、分钟、秒等结构体表示时间。 4. **软件更新和兼容性**:对于那些不能轻易改变...

    GPS UTC时间转换函数

    4. **格式化显示**:将转换后的時間格式化为用户友好的日期和时间字符串。 在实际编程中,这可以通过使用特定的语言库或自定义函数来实现。例如,在Python中,你可以使用`datetime`模块来处理日期和时间,`pytz`库...

    mysql-connector-java-8.0.16.jar

    MySQL Connector/J 8.0.16 是MySQL数据库与Java应用程序之间的重要桥梁,它是一个用于连接Java应用程序到MySQL服务器的JDBC驱动程序。这个jar文件是MySQL官方提供的,确保了与MySQL数据库的高效、安全和可靠的连接。...

    DMY.zip_DMY_GPS 秒 UTC转换_GPS周秒 UTC_GPS周秒转换_GPS转换UTC

    综上所述,将GPS周秒转换为UTC时间涉及对GPS时间系统和UTC时间系统的理解,以及正确处理闰秒的问题。通过编写合适的算法或使用现有的库函数,我们可以准确地进行这种转换,这对于依赖精确时间的许多应用都是必不可少...

    mysql-connector-java-8.0.21.7z

    MySQL Connector/J是MySQL数据库系统与Java应用程序之间的重要桥梁,它是一个实现了JDBC(Java Database Connectivity)规范的驱动程序,使得Java开发者能够通过编写Java代码来访问和操作MySQL数据库。"mysql-...

    GPS UTC与北京时间的转换函数

    如果GPS UTC时间是t,那么北京时间可以表示为t + 8小时。需要注意的是,这仅适用于非闰秒的情况。 2. 处理闰秒: 由于地球自转速度的变化,为了保持UTC与平均太阳时的偏差不超过0.9秒,国际地球自转服务(IERS)会...

    Java 实例 - 时间戳转换成时间源代码-详细教程.zip

    本教程将深入探讨如何在Java中将时间戳转换为可读的时间格式,并提供详细的源代码实例。以下是你可能需要了解的关键知识点: 1. **时间戳的概念** - 时间戳是一个长整型数值,代表从1970年1月1日00:00:00(UTC)到...

    MJD到UTC时间转换.rar

    4. **日期和时间类库**:Visual Studio 2008自带的`<ctime>`库提供了日期和时间处理的功能,如`time_t`类型和`localtime()`、`gmtime()`等函数,可以方便地将UTC时间转换为本地时间或者反之。 5. **错误处理**:在...

    UTC时间转换工具

    "UTC时间转换工具"是一款专门用于处理日期和时间格式转换的应用,它能够帮助用户将特定的日期时间格式(如"yyyy-MM-dd HH:mm:ss")与UTC时间进行相互转换。这种工具对于处理跨时区的数据交换、分析和存储非常有用,...

    mysql-connector-java-8.0.24.jar

    MySQL Connector/J 8.0.24 是MySQL数据库与Java应用程序之间的重要桥梁,它是一个用于连接Java应用程序到MySQL服务器的JDBC驱动程序。这个压缩包包含的“mysql-connector-java-8.0.24.jar”是这个驱动的二进制文件,...

    UTC时间转换算法

    以下将详细解释这两种时间格式的转换算法。 1. UTC到RTC转换: 当从UTC时间转换为RTC时间时,我们需要考虑用户所在的时区和夏令时(DST, Daylight Saving Time)。UTC不包含时区信息,因此转换过程中需要结合地理...

    mysql-connector-java-8.0.27.zip

    MySQL Connector/J 8.0.27 是 MySQL 数据库与 Java 应用程序之间的关键桥梁,它是 MySQL 官方提供的 JDBC 驱动程序。JDBC(Java Database Connectivity)是 Java 平台上用于访问数据库的标准 API,使得 Java 开发者...

    c#获取当前日期时间

    - `ToString()`:默认情况下,`ToString()`会返回日期和时间的默认格式(如"2008-9-4 20:02:10")。可以通过传入不同的格式字符串改变输出格式,如`ToString("yyyy-MM-dd")`得到"2008-09-04"。 3. **日期部分**: ...

    c#时间格式转换[借鉴].pdf

    在C#编程中,时间格式转换是常见的任务,特别是在处理日期和时间数据时。这篇文档主要探讨了如何在C#中进行日期和时间的格式化以及相关操作。以下是一些关键知识点: 1. **字符串与日期时间转换**: - `DateTime` ...

Global site tag (gtag.js) - Google Analytics