当前位置: 首页 > 面试题库 >

在Python中将年/月/日转换为年份

沈华皓
2023-03-14
问题内容

我正在使用datetime模块,即:

>>> import datetime
>>> today = datetime.datetime.now()
>>> print(today)
2009-03-06 13:24:58.857946

我想计算考虑takes年的一年中的某天。例如今天(2009年3月6日)是2009年的第65天。

我看到两个选择:

  1. 创建一个number_of_days_in_month = [31, 28, ...]数组,确定是否是a年,然后手动汇总天数。

  2. 用于datetime.timedelta猜测,然后二进制搜索一年中的正确日期:

    >>> import datetime
    

    YEAR = 2009
    DAY_OF_YEAR = 62
    d = datetime.date(YEAR, 1, 1) + datetime.timedelta(DAY_OF_YEAR - 1)

这些都感觉很笨拙,而且我有一种直觉,觉得有一种更“ Pythonic”的方式来计算一年中的日期。有什么想法/建议吗?


问题答案:

使用datetime.timetuple()您的转换datetime对象为time.struct_time对象,然后得到它的tm_yday属性:

from datetime import datetime
day_of_year = datetime.now().timetuple().tm_yday  # returns 1 for January 1st


 类似资料:
  • ECMA-262 语言规范第 21.4.1.15.1 段详细介绍了扩展年份日期格式 引述: 21.4.1.15.1 扩展年份 涵盖1970年1月1日(21.4.1.1)前后约273,790年的全时值范围需要表示0之前或9999之后的年份。ISO 8601允许扩展年份表示。 在简化的ECMAScript格式中,这种扩展的年份表示应具有6位数字,并且始终以或符号作为前缀。0年被视为正,因此以符号作为前

  • 问题内容: 我正在尝试将字符串转换为日期 但在我看来,它有一个。的。这是为什么?我想生成一个日期 问题答案: 日期字符串- 符合- d-每月的某天 M-一年中的月份 y-年 …

  • 如果在程序中有人给我天数(ab=“days”),我需要将变量“days”设置为相同的数字(“val”中的值),如果有人给我月份(ab=“months”),那么我需要将其转换为天(val中的值),如果有人给我年(ab=“years”),那么我需要将其转换为天(val中的值)。ie如果用户在变量“ab”中指定了值的类型(即是月、年或日期)和变量“val”中的天数(天/月/年),我需要在变量“天”中获得

  • 这就是我所拥有的。

  • 我有一个日值(1-31)、一个月值(1-12)和一个年值,我需要将它们保存为我的MySQL数据库日期格式。 如何将这些值(对应于日、月和年的3个整数)转换为日期格式以将其保存到数据库中?

  • 问题内容: 我表中的日期存储为十进制年份。一个示例翻译为。 我想将十进制年份转换为Oracle的日期格式。 我找到了在Excel中完成此操作的人:十进制的年初至今公式? 但是,我不太清楚如何将逻辑转换为Oracle PL / SQL。 问题答案: 如果您假设小数部分是根据给 定年份中的天数 (即365或366,取决于是否是leap年)来计算的,则可以执行以下操作: