python - 在python中获取每个月的年份

标签 python numpy

我想获取年份的第一天和最后一天,即 python 中每个月的年份范围。

我试过如下:

import datetime, numpy as np

dates = np.arange(np.datetime64('2014-01-01'), np.datetime64('2015-01-01'))

dates = [datetime.datetime.strptime(str(x),"%Y-%m-%d") for x in dates]
DayOfYears = [datetime.datetime.strptime(str(x),"%j") for x in dates]
Months = [datetime.datetime.strptime(str(x),"%B") for x in dates]

我的代码在获取 DayOfYears 和 Months 方面不起作用。 它给出 ValueError: unconverted data remains: 4-01-01 00:00:00

最后,我必须以这种形式打印出结果:

January 01 31
February 32 60
May 122 152
December 335 365

伙计们,这样做的好方法是什么?

编辑:

input_dates = ['2014-01-01', '2014-01-02', '2014-02-03', '2014-02-04', '2014-05-05', '2014-05-06', '2014-05-07', '2014-05-08']

output_answer:

January 1 31
February 32 60
May 122 152.

最佳答案

import calendar
from datetime import date
from dateutil.relativedelta import relativedelta

start = date(2012,1,1)
end = date(2015,1,1)

while start < end:        
    first_delta = (start - date(start.year, 1, 1)).days + 1
    last_delta = (start + relativedelta(days=-1, months=1) - date(start.year, 1, 1)).days + 1
    print calendar.month_name[start.month], '%02d' % first_delta, last_delta
    start += relativedelta(months=1)

输出:

January 01 31
February 32 60
March 61 91
...

关于python - 在python中获取每个月的年份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28035042/

相关文章:

python - Numpy - 相关系数和相关统计函数不会给出相同的结果

python - 如何用python中的json替换变量的值?

python - 当单元格元素为列表时从 pandas 列获取 ndarray

python - 如何让 Selenium 等到找到元素而不是使用 time.sleep()

python - 仅关键字参数

python - 从特定的 subreddit 获取过去两个月的所有提交(使用 PRAW)?

python - 将 bool 掩码应用于 TensorFlow 中张量的最后两个维度

python - NumPy - 二维矩阵次对角线上元素的总和

python:不支持 OpenCV 图像深度 (CV_64F)

python - 为什么迭代元素数组乘法在 numpy 中变慢?