如何将Python数据时间转换为字符串

371 阅读4分钟

How To Convert Datetime To String In Python

要将Python 日期时间转换 字符串,可以使用strftime()函数。strftime()方法是一个内置的Python方法,它使用datetimedatetime 对象 返回代表日期时间的字符串。

虽然支持日期和时间的运算,但实现的重点是为输出格式化和操作的有效属性提取。

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对象,然后你就可以根据你的要求使用不同的方法。

我希望这篇文章能帮助你。