python怎么把数字转为日期?

  • Post category:Python

把数字转为日期在Python中可以通过datetime模块中的datetime类来实现。该类的构造函数可以接收4个必需参数year、month、day、hour、minute等。具体实现步骤如下:

1.导入datetime模块

import datetime

2.创建一个datetime对象

可以使用datetime类中的构造函数来创建一个datetime对象,并将数字表示的日期信息传递给函数中的参数。

date_object = datetime.datetime(year, month, day)

例如,需要将数字20210101转化为日期,则可以执行以下代码:

import datetime

date_object = datetime.datetime(2021, 1, 1)

print("Date:", date_object)

输出:

Date: 2021-01-01 00:00:00

3.将日期格式化为字符串

默认情况下,datetime对象以YYYY-MM-DD形式打印。可以使用strftime()函数将其格式化为任何格式的字符串。

formatted_date = date_object.strftime("%d-%m-%Y")
print("Formatted Date:", formatted_date)

在这里,strftime()函数可以接收任何格式化字符串的参数。%d是日期(1-31),% Y是年(四位数),%m是代表月份(01-12)的数字。为了将格式化字符串添加到日期中,必须使用百分号(%)表示格式化字符。

完整代码实例:

import datetime

date_object = datetime.datetime(2021, 1, 1)

formatted_date = date_object.strftime("%d-%m-%Y")

print("Date:", date_object)
print("Formatted Date:", formatted_date)

输出:

Date: 2021-01-01 00:00:00
Formatted Date: 01-01-2021

对于更复杂的日期格式化需求,Python还提供了始终格式化的日历模块。通过日历模块中的calendar类,只需几行代码就可以轻松地生成包含不同类型日历的文本和html日历。

例如,要在html中生成带标题的日历:

import calendar

html_cal = calendar.HTMLCalendar(calendar.MONDAY)
print(html_cal.formatmonth(2021, 1))

输出:

<table border="0" cellpadding="0" cellspacing="0" class="month">
  <tr><th colspan="7" class="month">January 2021</th></tr>
  <tr><th class="mon">Mon</th><th class="tue">Tue</th><th class="wed">Wed</th><th class="thu">Thu</th><th class="fri">Fri</th><th class="sat">Sat</th><th class="sun">Sun</th></tr>
  <tr><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="sun">1</td></tr>
  <tr><td class="mon">2</td><td class="tue">3</td><td class="wed">4</td><td class="thu">5</td><td class="fri">6</td><td class="sat">7</td><td class="sun">8</td></tr>
  <tr><td class="mon">9</td><td class="tue">10</td><td class="wed">11</td><td class="thu">12</td><td class="fri">13</td><td class="sat">14</td><td class="sun">15</td></tr>
  <tr><td class="mon">16</td><td class="tue">17</td><td class="wed">18</td><td class="thu">19</td><td class="fri">20</td><td class="sat">21</td><td class="sun">22</td></tr>
  <tr><td class="mon">23</td><td class="tue">24</td><td class="wed">25</td><td class="thu">26</td><td class="fri">27</td><td class="sat">28</td><td class="sun">29</td></tr>
  <tr><td class="mon">30</td><td class="tue">31</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td></tr>
</table>