
要将Python 日期时间转换为 字符串,可以使用strftime()函数。strftime()方法是一个内置的Python方法,它使用date、time或datetime 对象 返回代表日期和时间的字符串。
虽然支持日期和时间的运算,但实现的重点是为输出格式化和操作的有效属性提取。
Python的datetime类提供了一个名为strftime()的成员函数来创建对象中数据的字符串表示。datetime 模块提供了用于操作日期和时间的类。
datetime.strftime()
下面的程序将一个datetime对象转换为包含当前日期和时间的不同字符串格式。
请看下面的语法。
datetime.strftime(Format_String)
请看下面的代码。
# app.py
from datetime import datetime
# current date and time
curDT = datetime.now()
# current day
day = curDT.strftime("%d")
print("day:", day)
# current month
month = curDT.strftime("%m")
print("month:", month)
# current year
year = curDT.strftime("%Y")
print("year:", year)
# current time
time = curDT.strftime("%H:%M:%S")
print("time:", time)
# current date and time
date_time = curDT.strftime("%m/%d/%Y, %H:%M:%S")
print("date and time:", date_time)
输出
pyt python3 app.py
day: 21
month: 01
year: 2020
time: 13:31:14
date and time: 01/21/2020, 13:31:14
这里,日、月、年、时间和date_time是字符串,而now是一个日期时间对象。
在上面的程序中,格式代码是%d、%m、%Y等。strftime()函数将一个或多个格式代码作为参数,并返回基于它的格式化字符串。
我们从datetime模块中导入了datetime类。datetime类的对象可以访问strftime()方法。
Python日期转换为字符串
在Python中,要将一个Date转换为String,可以使用strftime() 函数。
# app.py
from datetime import datetime
# current date and time
curDTObj = datetime.now()
# current date
dateStr = curDTObj.strftime("%d %b, %Y")
print("dateStr:", date)
输出
python3 app.py
date: 21 Jan, 2020
在上面的例子中,我们已经将datetime对象的日期部分转换成了字符串。
Python时间转换为字符串
在Python中,要将时间转换为字符串,请使用strftime() 函数。
让我们在Python中把唯一的时间转换为字符串。
# app.py
from datetime import datetime
# current date and time
curDTObj = datetime.now()
# current time
timeStr = curDTObj.strftime("%H:%M:%S.%f")
print("Time:", timeStr)
输出
python3 app.py
Time: 14:30:27.650890
在上面的例子中,我们已经将数据时间对象的时间部分转换为字符串。
如何在Python中把时间戳转换为字符串
假设我们有下面的时间戳。
1579596626.421213
现在,我们需要将上述时间戳转换为字符串。
为此,我们可以使用datetime.fromtimestamp()函数。
datetime.fromtimestamp()
fromtimestamp()函数将时间戳作为参数,并返回数据时间对象,然后我们可以使用strftime() 函数从数据时间对象中提取日、月、年。
请看下面的代码。
# app.py
from datetime import datetime
timestamp = 1579596626.421213
date_time = datetime.fromtimestamp(timestamp)
print("Date time object:", date_time)
fm_dt = date_time.strftime("%d/%m/%Y, %H:%M:%S")
print("Formatted Date Time:", fm_dt)
输出
python3 app.py
Date time object: 2020-01-21 14:20:26.421213
Formatted Date Time: 21/01/2020, 14:20:26
如何在Python中把日期时间转换为文本
要在Python中把日期时间转换为文本,可以使用strftime()函数。在这个例子中,我们将看到如何在Python中把日期时间转换成更易读的文本。
请看下面的代码。
# app.py
from datetime import datetime
# current date and time
curDTObj = datetime.now()
# current datetime
datetimeStr = curDTObj.strftime("Today is %d %B of %Y and the week day is %A at %I:%M %p")
print("Readable Text of Current Date Time:", datetimeStr)
输出
python3 app.py
Readable Text of Current Date Time: Today is 21 January of 2020 and the week day is Tuesday at 02:35 PM
Python中的日期时间格式列表
| 格式代码 | 说明 | 例子 |
|---|---|---|
| %d | 以零填充的十进制数字表示的月份的天数 | 01, 02, 03, 04 ..., 31 |
| %a | 工作日的缩写名称 | 星期日, 星期一, ..., 星期六 |
| %A | 作为全称的工作日 | 星期日, 星期一, ..., 星期六 |
| %m | 月份为零的小数点后数字 | 01, 02, 03, 04, 05,..., 12 |
| %b | 作为缩写的月份名称 | 一月,二月,三月,...,十二月 |
| %B | 作为全称的月份 | 一月, 二月, ..., 十二月 |
| %y | 不含世纪的年份,作为零填充的十进制数字 | 00, 01, 02, 03, ..., 99 |
| %Y | 以世纪为小数的年份 | 0001, ..., 2018, ..., 9999 |
| %H | 小时(24小时制时钟),作为零填充的十进制数字 | 01, 02, 03, 04, 05 ..., 23 |
| %M | 分钟作为零填充的十进制数字 | 01, 02, 03, 04, 05 ..., 59 |
| %S | 秒,作为一个零填充的十进制数字 | 01, 02, 03, 04, 05 ..., 59 |
| %f | 微秒为十进制数,在左边填充零点 | 000000, 000001, ..., 999999 |
| %I | 小时(12小时时钟)为零填充的十进制数字 | 01, 02, 03, 04, 05 ..., 12 |
| %p | 当地的AM或PM的等价物 | AM, PM |
| %j | 以零为单位的十进制数字的年份 | 01, 02, 03, 04, 05 ..., 366 |
结论
如果你想将Python中的日期或时间转换为字符串或文本格式,你首先需要做的是创建一个datetime对象,然后你就可以根据你的要求使用不同的方法。
我希望这篇文章能帮助你。