如何转换格式的所有值在日期-时间数组?



这是我的数据:

dates = np.arange("2018-01-01", "2021-12-31", dtype="datetime64[D]")

我现在想转换从:"2018 - 01 - 01 -";→"1月- 01 - 2018 -";("Monthname-day-year"格式的

我该怎么做?是否有可能以我们想要转换的方式初始化它?我可以这样写吗:

for i in dates:
i =  i.replace(i.month,i.strftime("%b"))

你可以试试:

from datetime import datetime
dates = np.arange("2018-01-01", "2021-12-31", dtype="datetime64[D]")
result_dates = []
for date in dates.astype(datetime):
result_dates.append(date.strftime("%b-%d-%Y"))

但是您需要转换结果日期,如代码

所示

我觉得有必要详细说明Silvio Mayolo上面非常相关但表面上被忽略的评论。Python将时间戳存储为结构(参见Python如何在内部存储datetime ?)获取更多信息)因此,DateTime没有这样的"格式"。只有在需要打印日期时才需要格式,因为必须首先将时间戳转换为字符串。因此,你不需要初始化任何格式。只有在打印时间戳时才需要声明格式。虽然您可以将日期以特定格式作为字符串存储在数据帧索引中,但如果不首先将字符串转换回时间变量,则无法在其上执行与时间相关的函数。即当前时间。如果current_time是一个datetime变量,那么Hour将返回一个带有当前小时的整数,但是如果它是一个格式化为时间戳的字符串(例如"2023-01-15 17:23")将崩溃。理解这一点很重要,因为最终您将需要操作变量,并且需要理解您是在处理时间还是字符串。

最新更新