标签: iso8601

Lua的ISO 8601时间戳

如何2009-01-28T21:49:59.000Z在Lua 中将时间戳转换为ISO 8601格式(如)?

我特意尝试使用Nginx中的HttpLuaModule.

lua timestamp nginx iso8601 date-conversion

11
推荐指数
1
解决办法
3975
查看次数

代表40,000,000秒作为ISO-8601期间

40,000,000秒是462.962天.如果我想将其表示为ISO-8601期间,请使用以下格式:

PnYnMnDTnHnMnS
Run Code Online (Sandbox Code Playgroud)

确定月份和年份的规则是什么?两者都不是精确的术语,标准表示它取决于期间的开始日期.

这是有道理的:它使得周期模糊而没有开始日期.是否有任何可接受的使用没有开始日期的期限的方法?

iso8601

11
推荐指数
1
解决办法
412
查看次数

将字符串ISO-8601日期转换为oracle的timestamp数据类型

我在VARCHAR2类型中有ISO-8601日期,如何将该字符串日期转换为oracle db中的时间戳?

日期示例:"2014-09-12T11:53:06 + 00:00"

也许是以下类似但我不确定格式是什么.

SELECT to_timestamp_tz ('2014-09-12T11:53:06+00:00', ????) FROM DUAL
Run Code Online (Sandbox Code Playgroud)

database oracle iso8601

11
推荐指数
1
解决办法
1万
查看次数

以时间形式替代冒号

ISO 8601建议使用以下日期和时间格式:

2014-12-29T16:11:20+00:00
Run Code Online (Sandbox Code Playgroud)

我非常喜欢这种格式,因为它允许词汇排序.但是存在一个小问题:某些文件系统不允许文件名中的冒号(至少不是正常的).ISO 8601允许省略冒号,但我宁愿在那里有一些符号而不是数字一起运行:

2014-12-29T161120+0000
Run Code Online (Sandbox Code Playgroud)

ISO 8601是否允许冒号以外的符号?我找不到它的任何迹象.如果没有,是否还有其他公认的符号我可以使用?(或许另一个标准提出这样的符号?)

filenames iso8601

11
推荐指数
1
解决办法
2992
查看次数

无法解析ISO 8601格式的字符串,缺少冒号的冒号,到Java 8 Date

我对java 8日期格式/解析功能有点沮丧.我试图找到杰克逊配置并DateTimeFormatter解析 "2018-02-13T10:20:12.120+0000"字符串到任何Java 8日期,并没有找到它.
这是java.util.Date一个很好的例子:

Date date = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss.SSSZZZ")
                      .parse("2018-02-13T10:20:12.120+0000");
Run Code Online (Sandbox Code Playgroud)

相同的格式不适用于新的日期时间api

ZonedDateTime dateTime = ZonedDateTime.parse("2018-02-13T10:20:12.120+0000",
                   DateTimeFormatter.ofPattern("yyyy-MM-dd'T'hh:mm:ss.SSSZZZ"));
Run Code Online (Sandbox Code Playgroud)

我们应该能够以适合FE UI应用程序的任何格式格式化/解析日期.也许我误解或错误的东西,但我认为java.util.Date提供更多的格式灵活性和更容易使用.

java datetime parsing iso8601 java-8

11
推荐指数
1
解决办法
2109
查看次数

Windows ISO 8601时间戳

我需要将Windows PowerShell中的日期转换为ISO 8601格式.

在Linux/Unix中没问题

TZ=0 date -d "<random-format>" +%Y-%m-%dT%H:%M:%S.000Z
Run Code Online (Sandbox Code Playgroud)

现在我需要在Windows PowerShell中执行相同的操作.Windows上的输出格式是

Wednesday, 19. July 2017 01:06:13
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

windows powershell timestamp iso8601

11
推荐指数
4
解决办法
9484
查看次数

"PT"前缀在持续时间中代表什么?

我正在尝试使用Duration该类而不是long.它具有优越的文字语法.我喜欢它的灵活性,虽然它看起来很奇怪.

"PT10S"意味着10秒,接受"10秒"的问题是什么?!好的没关系.

我只是好奇为什么选择了PT前缀(不是"DU"例如)以及为什么任何前缀在这里更好而不是什么?

java duration iso8601 period java-time

11
推荐指数
3
解决办法
6609
查看次数

Android时间在iso 8601

使用android和joda时间库 - 我试图转换用户的时区,以便稍后格式化为:2012-11-12T21:45:00 + 02:00.

DateTimeZone zone = DateTimeZone.forID( TimeZone.getDefault().getID());
Run Code Online (Sandbox Code Playgroud)

上面的代码失败了 - 任何人都知道如何把"欧洲/伦敦"(Timezone.getID)转换成偏移量,所以我可以把它换成ISO 8601格式?

timezone android iso8601 jodatime

10
推荐指数
2
解决办法
1万
查看次数

将带有时区的ISO 8601解析为.NET datetime

我有以下格式的ISO 8601时间戳:

YYYY-MM-DDThh:mm:ss[.nnnnnnn][{+|-}hh:mm]

YYYY-MM-DDThh:mm:ss[{+|-}hh:mm]
Run Code Online (Sandbox Code Playgroud)

例子:

2013-07-03T02:16:03.000+01:00

2013-07-03T02:16:03+01:00
Run Code Online (Sandbox Code Playgroud)

如何将其解析为DateTime正确TimeZone提供的.NET Framework ?

DateTime.TryParse不起作用,因为有关的尾随信息TimeZone.

.net c# datetime iso8601

10
推荐指数
1
解决办法
6296
查看次数

为什么ISO-8601规范在小数点时似乎被普遍忽略?

来自ISO-8601:2004(E)规范:

4.2.2.4带小数部分的表示法

如果特定应用需要,可以包括小时,分钟或秒的小数部分.如果包含小数部分,则应省略低阶时间元素(如果有),小数部分应从整数部分除以ISO 31-0中指定的小数符号,即逗号[,]或句号[ ].其中,逗号是首选标志.

很简单.因此,根据此规范,优选使用逗号分隔整个和小数部分来写入一秒的分数,例如2014-01-01T00:00:00,123.然而,似乎几乎无处不在,只接受小数点(又名"完全停止")!

现在我确定有一些语言或库将这一点考虑在内,我知道在很多情况下你可以自己提供格式的全部细节.但这似乎是对规范的明显监督,似乎各种程序员都犯了同样的错误. 除了纯粹的人为错误之外,是否存在这种情况的原因?

以下是我测试的地方列表.如果您找到其他人,请随意编辑问题以扩充我的列表.谢谢.

.NET/C#

DateTime dt = DateTime.Parse("2014-01-01T00:00:00,123");
Run Code Online (Sandbox Code Playgroud)

抛出一条FormatException消息"字符串未被识别为有效的DateTime".使用句点而不是逗号的相同内容会成功解析.

JavaScript日期对象

最新(在撰写本文时)Chrome,Internet Explorer,Firefox和Node.js进行了测试:

var dt = new Date('2014-01-01T00:00:00,123');
Run Code Online (Sandbox Code Playgroud)

退货"Invalid Date".使用句号代替工作正常.

带有moment.js的 JavaScript

var valid = moment("2014-01-01T00:00:00,123").isValid();
Run Code Online (Sandbox Code Playgroud)

退货false.使用句点代替返回true.

PHP

echo strtotime('2014-01-01T00:00:00,123');
Run Code Online (Sandbox Code Playgroud)

返回一个空字符串.使用句号代替工作正常.

红宝石

require 'time'
puts Time.iso8601("2014-01-01T00:00:00,123")
Run Code Online (Sandbox Code Playgroud)

给出了运行时错误.虽然Time不保持小数秒,但它不应该出错 - 实际上如果使用句号,它就可以工作.

javascript php c# datetime iso8601

10
推荐指数
2
解决办法
1467
查看次数