Python datetime.isoformat()方法

Pythondatetime.isoformat() 方法是一种有效的方法,可以找到与时区相对应的日期、时间和UTC偏移量的字符串,格式为ISO 8601 。标准的ISO 8601 格式使用按公历的日期格式。

Pythondatetime.isoformat() 方法的语法

datetime.isoformat(sep, timespec)

参数

sep (可选参数)在日期和时间字段之间要打印的分隔符。默认值是T
timespec (可选参数)timespec 的格式指定符。默认值是auto 。以下数值也可以作为参数输入:
hours 返回的时间组件将只有HH 格式的小时。
minutes 返回的时间组件将只有HH:MM 格式的小时和分钟。
seconds 返回的时间组件将以HH:MM:SS 的格式显示。
milliseconds 返回的时间组件将以HH:MM:SS:mmm 格式显示,其中mmm 代表毫秒。
microseconds 返回的时间成分将以HH:MM:mmmmmm 格式显示,其中mmmmmm 代表微秒。
auto 返回的时间分量将采用HH:MM:SS 格式。如果微秒成分是可用的,那么它将被打印出来。

返回

这个方法的返回类型是一个ISO 8601 格式的日期对象。

例1:在Python中使用datetime.isoformat() 方法

import datetime
import time
datetime_object = datetime.datetime.now()
ISOFormat = datetime_object.isoformat()
print("Today's date and time in ISO Format are: ", ISOFormat)

输出:

Today's date and time in ISO Format are:  2022-08-29T15:14:33.711834

上面的代码给了我们标准格式的日期和时间。

例2:在datetime.isoformat() 方法中使用不同的特定时间参数

import datetime
ISOFormat = datetime.datetime.now()
print(ISOFormat.isoformat("#", "auto"))
print(ISOFormat.isoformat("#", "hours"))
print(ISOFormat.isoformat("#", "minutes"))
print(ISOFormat.isoformat("#", "seconds"))
print(ISOFormat.isoformat("#", "milliseconds"))
print(ISOFormat.isoformat("#", "microseconds"))

输出:

2022-08-29#15:21:16.921250
2022-08-29#15
2022-08-29#15:21
2022-08-29#15:21:16
2022-08-29#15:21:16.921
2022-08-29#15:21:16.921250

分隔符总是被打印在日期和时间字段之间。

例3:使用datetime.isoformat() 方法将字符串转换为datetime 对象

import datetime
datetime_object = datetime.datetime(2022, 8, 29, 8, 40, 34, 686)
print('Input Datetime:', datetime_object)
ISOFormat = datetime_object.isoformat()
print('ISO format:', ISOFormat)

输出:

Input Datetime: 2022-08-29 08:40:34.000686
ISO format: 2022-08-29T08:40:34.000686

标准的ISO 8601 格式表示datetime 对象,使用一个4位数的年,后面是2位数的月和2位数的日。