- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Wikidata date format看起来像这样:
+2018-03-26T00:00:00Z
因此,如果道格拉斯亚当斯出生于 +1952-03-11T00:00:00Z
然后我可以像这样使用 Python 获取时间戳:
from datetime import datetime
from dateutil.parser import parse
datestring = '+1952-03-11T00:00:00Z'
dt_obj = parse(datestring[1:])
print(dt_obj.timestamp())
>>> -562032000.0
正如您在这里看到的,我不能使用 + - 值,它表示日期在公元或公元前。
此外,我无法使用不完整的日期:
例如 Genghis Khan +1162-00-00T00:00:00Z
(缺少日期和月份)
BC 中的日期也不完整:柏拉图 -0427-00-00T00:00:00Z
最佳答案
标准datetime
模块无法处理负 (BC) 日期,但 NumPy能。它允许您解析正日期和负日期,尽管出于某种原因它只允许没有符号(假设为正)或负符号;也许值得提出一个问题,如the ISO 8601 standard is supposed to support it .但是,缺少的月份和日期不是(afaik)标准的一部分;您可以按 '-00'
进行拆分,作为一种有点笨拙但有效的解决方案。一个完整的函数可能如下所示:
import numpy as np
def get_timestamp(date_str):
# Probably not necessary
date_str = date_str.strip()
# Remove + sign
if date_str[0] == '+':
date_str = date_str[1:]
# Remove missing month/day
date_str = date_str.split('-00', maxsplit=1)[0]
# Parse date
dt = np.datetime64(date_str)
# As Unix timestamp (choose preferred datetype)
return dt.astype('<M8[s]').astype(np.int64)
date1 = '+1952-03-11T00:00:00Z'
date2 = '-0427-00-00T00:00:00Z'
print('Timestamp for {}: {}'.format(date1, get_timestamp(date1)))
# Timestamp for +1952-03-11T00:00:00Z: -562032000
print('Timestamp for {}: {}'.format(date2, get_timestamp(date2)))
# Timestamp for -0427-00-00T00:00:00Z: -75641990400
关于python - 如何将不完整和 BC 维基数据日期转换为时间戳?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49508986/
给定一个带有多个 date_time 戳的字符串,我想 提取第一个戳及其前面的文本 候选字符串可以有一个或多个时间戳 后续的 date_time 戳记将被 sep="-" 隔开 后续date_time
是否可以合并从相机拍摄的文本和照片?我想在照片上标记日期和时间,但我在 Google 上找不到任何内容。 最佳答案 使用下面的代码来实现你所需要的。 Bitmap src = Bitm
有没有办法通过 Graph API 戳另一个用户?基于this post ,并使用 Graph Explorer ,我发布到“/USERID/pokes”,我已经授予它(Graph API 应用程序和
我有两个向左浮动的元素。一个是 body 的第一个 child ,另一个是容器的第一个 child ,容器是 body 的第二个 child 。 ...
我是一名优秀的程序员,十分优秀!