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上面非常相关但表面上被忽略的评论。(有关详细信息,请参阅How does Python store datetime internally?)因此,DateTime本身没有“格式”。只有当您要打印日期时才需要格式,因为您必须首先将时间戳转换为字符串。因此,你不需要初始化任何格式。2你只需要在打印时间戳的时候声明一个格式。3虽然你可以在你的 Dataframe 索引中以一个特定的格式将日期存储为一个字符串,你不能在它上面执行时间相关的功能没有首先转换字符串回到一个时间变量.即current_time.hour将返回一个整数与当前小时如果current_time是一个datetime变量,但如果它是一个格式化为时间戳的字符串(如“2023-01-15 17:23”),则会崩溃。了解这一点很重要,因为最终您将需要操作变量,并需要了解您使用的是时间还是字符串。
2条答案
按热度按时间iyzzxitl1#
你可以试试这个:
但是您需要转换结果日期,如代码所示
m2xkgtsf2#
我觉得有必要详细说明Silvio Mayolo上面非常相关但表面上被忽略的评论。(有关详细信息,请参阅How does Python store datetime internally?)因此,DateTime本身没有“格式”。只有当您要打印日期时才需要格式,因为您必须首先将时间戳转换为字符串。因此,你不需要初始化任何格式。2你只需要在打印时间戳的时候声明一个格式。3虽然你可以在你的 Dataframe 索引中以一个特定的格式将日期存储为一个字符串,你不能在它上面执行时间相关的功能没有首先转换字符串回到一个时间变量.即current_time.hour将返回一个整数与当前小时如果current_time是一个datetime变量,但如果它是一个格式化为时间戳的字符串(如“2023-01-15 17:23”),则会崩溃。了解这一点很重要,因为最终您将需要操作变量,并需要了解您使用的是时间还是字符串。