我已经看到了许多不同的JSON日期格式标准:
"\"\\/Date(1335205592410)\\/\"" .NET JavaScriptSerializer
"\"\\/Date(1335205592410-0500)\\/\"" .NET DataContractJsonSerializer
"2012-04-23T18:25:43.511Z" JavaScript built-in JSON object
"2012-04-21T18:25:43-05:00" ISO 8601
Run Code Online (Sandbox Code Playgroud)
哪一个是正确的?还是最好的?这有什么标准吗?
从服务器我得到这种格式的datetime变量:6/29/2011 4:52:48 PM它是UTC时间.我想使用JavaScript将其转换为当前用户的浏览器时间.
如何使用JavaScript或jQuery完成此操作?
我需要生成一个与iso格式匹配的时间字符串yyyy-mm-ddThh:mm:ss.ssssss-ZO:NE.在now()和utcnow()类方法几乎做我想做的.
>>> import datetime
>>> #time adjusted for current timezone
>>> datetime.datetime.now().isoformat()
'2010-08-03T03:00:00.000000'
>>> #unadjusted UTC time
>>> datetime.datetime.utcnow().isoformat()
'2010-08-03T10:00:00.000000'
>>>
>>> #How can I do this?
>>> datetime.datetime.magic()
'2010-08-03T10:00:00.000000-07:00'
Run Code Online (Sandbox Code Playgroud) 在Python中,我如何转换这样的字符串:
星期四,2010年12月16日12:14:05 +0000
符合ISO 8601格式,同时保留时区?
请注意,原始日期是字符串,输出也应该是字符串,不是datetime或类似的.
不过,我使用第三方库没有问题.
我提供"2019-04-05T16:55:26Z"给 Python 3datetime.datetime.fromisoformat和 get Invalid isoformat string,尽管相同的字符串在没有 Z 的情况下也能工作。 ISO8601 允许 Z - https://en.wikipedia.org/wiki/ISO_8601
$ python3
Python 3.7.2 (default, Feb 12 2019, 08:15:36)
>>> datetime.fromisoformat("2019-04-05T16:55:26Z")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: Invalid isoformat string: '2019-04-05T16:55:26Z'
>>> datetime.fromisoformat("2019-04-05T16:55:26")
datetime.datetime(2019, 4, 5, 16, 55, 26)
Run Code Online (Sandbox Code Playgroud) 例如:我有一个日期字符串
2018-02-17 16:15:36.519 PST
Run Code Online (Sandbox Code Playgroud)
我如何在 UTC 中转换为 isoformat,如下所示
2018-02-18T00:15:36.519Z
Run Code Online (Sandbox Code Playgroud)
我试过这个
from dateutil.parser import parse
d1='2018-02-17 16:15:36.519 PST'
print parse(d1)
it prints like this. How do i convert it to UTC with Z at the end.
2018-02-17 16:15:36.519000-08:00
Run Code Online (Sandbox Code Playgroud)
使用 python 2.7 进行编辑。
import dateutil
import pytz
from dateutil.parser import parse
d1='2018-02-17 16:15:36.519 PST'
d2=dateutil.parser.parse(d1)
d2.replace(tzinfo=pytz.utc) - d2.utcoffset()
d3=(d2.replace(tzinfo=pytz.utc) - d2.utcoffset()).isoformat()
print d3
Run Code Online (Sandbox Code Playgroud)
然后按照建议使用 Z 进行格式化
我知道有人问过这个问题,但那里没有提供解决方案。 Python UTC 日期时间对象的 ISO 格式不包括 Z(祖鲁语或零偏移量)
我正在寻找一种在 Python 中使用这种格式生成 UTC 时间戳的干净方法。我需要的格式是
2013-10-29T09:38:41.341Z.
具体来说,我需要在末尾包含“Z”。Pythondatetime.utcnow().isoformat()不会在末尾附加“Z”。
请注意,手动附加“Z”不是我可以接受的解决方案。我正在寻找一种干净的方法来做到这一点。
以 ISO 格式生成后缀为 UTC 时间戳的干净方法是什么Z?
我有一个具有这种格式的字符串,2018-02-26T23:10:00.780Z我想检查它是否为ISO8601和UTC格式。
let date= '2011-10-05T14:48:00.000Z';
const error;
var dateParsed= Date.parse(date);
if(dateParsed.toISOString()==dateParsed && dateParsed.toUTCString()==dateParsed) {
return date;
}
else {
throw new BadRequestException('Validation failed');
}
Run Code Online (Sandbox Code Playgroud)
这里的问题是:
1317826080000为无法与ISO或UTC格式进行比较。我会避免使用诸如moment.js之类的库
datetime ×5
python ×5
javascript ×3
iso8601 ×2
date ×1
jquery ×1
json ×1
parsing ×1
python-3.7 ×1
python-3.x ×1
timezone ×1
typescript ×1
utc ×1
validation ×1