【问题标题】:Extract Month From Julian day and year in python在python中从儒略日和年份中提取月份
【发布时间】:2017-05-04 20:09:33
【问题描述】:

我的问题基本上与this question 完全相反。我有一个结构为 "%y%j" 的字符串,因此 2017 年 1 月 1 日将是 "17001",1995 年 12 月 31 日将是 "95365"

我基本上需要从任何给定的输入字符串中知道现在是几月。我认为这会相对简单。比如:

input = "95365"
year = int(input[0:2])
day = int(input[2:5])
if day < 32:
    month = 1
if day >= 32 and day < 50:
    # etc...

我忘记了闰年以及它们重复的频率。有没有人有一个简单的解决方法?有这类东西的图书馆吗?

【问题讨论】:

    标签: python string datetime


    【解决方案1】:

    除非我遗漏了什么,否则我认为您所需要的只是:

    >>> import datetime
    >>> s = '95365'
    >>> datetime.datetime.strptime(s, '%y%j').month
    12
    >>> datetime.datetime.strptime(s, '%y%j').day
    31
    >>> datetime.datetime.strptime(s, '%y%j').year
    1995
    

    【讨论】:

    • 我认为这完全正确。比一千个“if”语句干净得多。
    猜你喜欢
    • 2021-10-02
    • 2018-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多