将UNIX时间戳转换为格式为YYYYMMDD的日期字符串

2024-05-12 00:06:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在终端打印给定日期(主要是第二天)是否下雨。为此,我已经从rapidapi.com获得了OpenWeatherMap

我将响应转换为json

response = requests.request("GET", url, headers=headers, params=querystring)
obj = response.text
x = json.loads(obj)
print(x['list'][0])
#part of output
{'dt': 1606676400, 'sunrise': 1606662312, 'sunset': 1606697500,

我认为dt是某种时间,我想把它转换成YYYY-MM-DD格式的日期,但不知道如何转换

谢谢你的帮助,祝你度过愉快的一天


Tags: comjsonobj终端urlgetresponserequest
2条回答

这种格式是一种UNIX timestamp,顺便说一句,这是一种非常好的共享日期的方式,因为不需要进行广泛的解析,datetime库提供了一种简单的解析方法

from datetime import datetime

timestamp = 1606662312
dt_object = datetime.fromtimestamp(timestamp)

[1] 29.11.2020 16:05

编辑: 如果需要特定字符串格式的日期,可以使用:

date_string = dt_object.strftime("%Y-%m-%d")
[2] '2020-11-29'

对于感兴趣的读者:

UNIX时间戳

It's pretty common to store date and time as a timestamp in a database. 
A Unix timestamp is the number of seconds between a particular date and 
January 1, 1970 at UTC.

考虑到问题中YYYY-MM-DD的输出,这里有一个替代方案(没有时间)——

from datetime import date
dt = 1606676400
dt_convert = date.fromtimestamp(dt)

从解释器处运行-

>>> dt_convert
datetime.date(2020, 11, 29)
>>> str(dt_convert)
'2020-11-29'

相关问题 更多 >