Java中ISO-8601日期时间到秒数的字符串

Java中ISO-8601日期时间到秒数的字符串,java,datetime,isodate,Java,Datetime,Isodate,如何将ISO-8601日期时间字符串(例如:2012-05-31T13:48:04Z)转换为秒数(10位整数)使用Java?使用SimpleDateFormat并使用类似yyyy-MM-dd'T'HH:MM:ss'Z'的格式使用SimpleDateFormat并使用类似yyyy-MM-dd'T'HH:MM:ss'Z'的格式使用SimpleDateFormat并使用类似yyyyyyy-MM-dd'T'HH:MM:ss'Z'的格式

如何将ISO-8601日期时间字符串(例如:
2012-05-31T13:48:04Z
)转换为秒数(
10位整数
)使用Java?

使用
SimpleDateFormat
并使用类似
yyyy-MM-dd'T'HH:MM:ss'Z'的格式
使用
SimpleDateFormat
并使用类似
yyyy-MM-dd'T'HH:MM:ss'Z'的格式
使用
SimpleDateFormat
并使用类似
yyyyyyy-MM-dd'T'HH:MM:ss'Z'的格式<
SimpleDateFormat
并使用类似于
yyyy-MM-dd'T'HH:MM:ss'Z'的格式

试试这种方法

String DateStr="2012-05-31T13:48:04Z";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
Date d=sdf.parse(DateStr);
System.out.println(d.getTime());
输出1338452284000

根据OP的评论 getTime()返回此日期对象表示的自1970年1月1日00:00:00 GMT以来的毫秒数。

试试这种方法

String DateStr="2012-05-31T13:48:04Z";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
Date d=sdf.parse(DateStr);
System.out.println(d.getTime());
输出1338452284000

根据OP的评论 getTime()返回此日期对象表示的自1970年1月1日00:00:00 GMT以来的毫秒数。

试试这种方法

String DateStr="2012-05-31T13:48:04Z";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
Date d=sdf.parse(DateStr);
System.out.println(d.getTime());
输出1338452284000

根据OP的评论 getTime()返回此日期对象表示的自1970年1月1日00:00:00 GMT以来的毫秒数。

试试这种方法

String DateStr="2012-05-31T13:48:04Z";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
Date d=sdf.parse(DateStr);
System.out.println(d.getTime());
输出1338452284000

根据OP的评论 getTime()返回此日期对象表示的自1970年1月1日00:00:00 GMT以来的毫秒数。

tl;博士 1338472084

看这个

使用java.time 使用java.time类取代麻烦的旧遗留日期时间类更容易

易于解析输入字符串,因为java.time类在生成/解析字符串时默认使用ISO 8601格式。因此,无需指定格式化模式

该类表示时间线上的一个时刻,分辨率为(小数点的九(9)位)

我猜“秒”是指自1970 UTC开始以来经过的秒数(
1970-01-01T00:00:00Z
)。
Instant
类可以告诉您从那以后的秒数

1338472084

显然,要当心数据丢失。您正在忽略日期时间值中可能存在的任何小数秒


关于java.time 该框架内置于Java8及更高版本中。这些类取代了麻烦的旧日期时间类,例如,&

该项目现已启动,建议迁移到类

要了解更多信息,请参阅。并搜索堆栈溢出以获得许多示例和解释。规格是

从哪里获得java.time类

  • 后来
    • 内置的
    • 标准JavaAPI的一部分,带有捆绑实现
    • Java9添加了一些次要功能和修复
    • 大部分java.time功能都在中向后移植到Java6和Java7
    • 该项目专门为Android采用了ThreeTen Backport(如上所述)
该项目使用其他类扩展了java.time。这个项目是java.time将来可能添加的一个试验场。您可以在这里找到一些有用的类,如、、和。

tl;博士 1338472084

看这个

使用java.time 使用java.time类取代麻烦的旧遗留日期时间类更容易

易于解析输入字符串,因为java.time类在生成/解析字符串时默认使用ISO 8601格式。因此,无需指定格式化模式

该类表示时间线上的一个时刻,分辨率为(小数点的九(9)位)

我猜“秒”是指自1970 UTC开始以来经过的秒数(
1970-01-01T00:00:00Z
)。
Instant
类可以告诉您从那以后的秒数

1338472084

显然,要当心数据丢失。您正在忽略日期时间值中可能存在的任何小数秒


关于java.time 该框架内置于Java8及更高版本中。这些类取代了麻烦的旧日期时间类,例如,&

该项目现已启动,建议迁移到类

要了解更多信息,请参阅。并搜索堆栈溢出以获得许多示例和解释。规格是

从哪里获得java.time类

  • 后来
    • 内置的
    • 标准JavaAPI的一部分,带有捆绑实现
    • Java9添加了一些次要功能和修复
    • 大部分java.time功能都在中向后移植到Java6和Java7
    • 该项目专门为Android采用了ThreeTen Backport(如上所述)
该项目使用其他类扩展了java.time。这个项目是java.time将来可能添加的一个试验场。您可以在这里找到一些有用的类,如、、和。

tl;博士 1338472084

看这个

使用java.time 使用java.time类取代麻烦的旧遗留日期时间类更容易

易于解析输入字符串,因为java.time类在生成/解析字符串时默认使用ISO 8601格式。因此,无需指定格式化模式

该类表示时间线上的一个时刻,分辨率为(小数点的九(9)位)

我猜“秒”是指自1970 UTC开始以来经过的秒数(
1970-01-01T00:00:00Z
)。
Instant
类可以告诉您从那以后的秒数

1338472084

显然,要当心数据丢失。您正在忽略日期时间值中可能存在的任何小数秒


关于java.time <