首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以特定格式创建日期列表

以特定格式创建日期列表
EN

Stack Overflow用户
提问于 2022-06-08 21:16:58
回答 2查看 361关注 0票数 0

我需要用一个特定的格式来构造一个日期列表--月份日期,年份。

我已经创建了日期列表,但是当我尝试格式化它们时,我会得到两个日期的长列表,'May 05,2022''June 06,2022'如下所示:

代码语言:javascript
复制
['May 05,2022', 'May 05,2022', 'May 05,2022', 'May 05,2022', 'May 05,2022', 'May 05,2022', 'May 05,2022', 'May 05,2022', 'May 05,2022', 'May 05,2022', 'May 05,2022', 'May 05,2022', 'May 05,2022', 'May 05,2022', 'May 05,2022', 'May 05,2022', 'May 05,2022', 'June 06,2022', 'June 06,2022', 'June 06,2022', 'June 06,2022', 'June 06,2022', 'June 06,2022', 'June 06,2022', 'June 06,2022']

我不知道是怎么回事,因为当我打印dates时,我得到了这个范围内所有日期的列表。我用来格式化数字的任何策略都会导致一个糟糕的列表(上面)。

代码语言:javascript
复制
from datetime import datetime
import pandas as pd

START_REPORTING = datetime(2022, 5, 15)
TODAY = datetime.today()


dates = pd.date_range(start=START_REPORTING ,end=TODAY)

list = []
for i in dates:
    list.append(i.strftime('%B %m,%Y'))
print(list)
print(dates)



['May 05,2022', 'May 05,2022', 'May 05,2022', 'May 05,2022', 'May 05,2022', 'May 05,2022', 'May 05,2022', 'May 05,2022', 'May 05,2022', 'May 05,2022', 'May 05,2022', 'May 05,2022', 'May 05,2022', 'May 05,2022', 'May 05,2022', 'May 05,2022', 'May 05,2022', 'June 06,2022', 'June 06,2022', 'June 06,2022', 'June 06,2022', 'June 06,2022', 'June 06,2022', 'June 06,2022', 'June 06,2022']
DatetimeIndex(['2022-05-15', '2022-05-16', '2022-05-17', '2022-05-18',
               '2022-05-19', '2022-05-20', '2022-05-21', '2022-05-22',
               '2022-05-23', '2022-05-24', '2022-05-25', '2022-05-26',
               '2022-05-27', '2022-05-28', '2022-05-29', '2022-05-30',
               '2022-05-31', '2022-06-01', '2022-06-02', '2022-06-03',
               '2022-06-04', '2022-06-05', '2022-06-06', '2022-06-07',
               '2022-06-08'],
              dtype='datetime64[ns]', freq='D')
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-06-08 21:25:20

您可能希望使用格式字符串'%B %d, %Y',因为%m为您提供了带前导零的月份

这应该是你想做的事:

代码语言:javascript
复制
dates.to_series().dt.strftime('%B %d, %Y').to_list()

# ['May 15, 2022', 'May 16, 2022', 'May 17, 2022', 'May 18, 2022', 'May 19, 2022', 'May 20, 2022', 'May 21, 2022', 'May 22, 2022', 'May 23, 2022', 'May 24, 2022', 'May 25, 2022', 'May 26, 2022', 'May 27, 2022', 'May 28, 2022', 'May 29, 2022', 'May 30, 2022', 'May 31, 2022', 'June 01, 2022', 'June 02, 2022', 'June 03, 2022', 'June 04, 2022', 'June 05, 2022', 'June 06, 2022', 'June 07, 2022', 'June 08, 2022']
票数 3
EN

Stack Overflow用户

发布于 2022-06-08 21:39:16

您的日期格式转换为month_name month_number,年份。用%d替换%m应该有效。尝尝这个

代码语言:javascript
复制
for i in dates:
    list.append(i.strftime('%B %m,%Y'))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72552307

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档