Python使用datetime模块获取当前日期和时间,常用datetime.datetime.now()返回本地日期时间对象,date.today()获取日期,time()提取时间,strftime()格式化输出,fromtimestamp()将时间戳转为datetime对象,strptime()实现字符串与datetime互转,结合timedelta可进行日期加减运算。

直接告诉你,Python获取当前日期和时间的方法非常简单,主要依赖于
datetime
模块。这个模块提供了各种类来处理日期、时间和时间间隔。
解决方案
获取当前日期和时间,最常用的方式是使用
datetime.datetime.now()
。它会返回一个包含当前本地日期和时间的datetime对象。
import datetime now = datetime.datetime.now() print(now)
如果你只需要日期部分,可以使用
datetime.date.today()
:
立即学习“Python免费学习笔记(深入)”;
import datetime today = datetime.date.today() print(today)
要获取时间部分,可以从datetime对象中提取:
import datetime now = datetime.datetime.now() current_time = now.time() print(current_time)
还可以使用
strftime()
方法将日期和时间格式化成字符串:
import datetime now = datetime.datetime.now() formatted_date = now.strftime("%Y-%m-%d %H:%M:%S") # 年-月-日 时:分:秒 print(formatted_date)
Python中
datetime
模块功能很强大,掌握这些基本用法,基本上能满足日常开发需求。
如何将时间戳转换为datetime对象?
时间戳(timestamp)是从1970年1月1日午夜(格林威治时间)开始经过的秒数。Python中,可以使用
datetime.datetime.fromtimestamp()
将时间戳转换为datetime对象。
import datetime import time timestamp = time.time() # 获取当前时间戳 datetime_object = datetime.datetime.fromtimestamp(timestamp) print(datetime_object)
这个转换在处理数据库或者外部数据源时非常有用,因为很多时候数据是以时间戳的形式存储的。
datetime对象和字符串之间如何互相转换?
datetime对象转换为字符串前面已经提到可以使用
strftime()
方法。反过来,字符串转换为datetime对象可以使用
strptime()
方法。
import datetime date_string = "2023-10-27 10:30:00" datetime_object = datetime.datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S") print(datetime_object)
strptime()
方法需要两个参数:要转换的字符串和格式化字符串。格式化字符串需要与日期字符串的格式完全匹配,否则会抛出ValueError异常。 比如,如果你的日期字符串是”10/27/2023″,那么格式化字符串应该是”%m/%d/%Y”。
如何进行日期和时间的加减运算?
datetime对象支持加减运算,可以方便地计算未来的日期或过去的日期。这需要使用
timedelta
对象。
import datetime now = datetime.datetime.now() one_day = datetime.timedelta(days=1) # 一天的间隔 tomorrow = now + one_day yesterday = now - one_day print("Today:", now) print("Tomorrow:", tomorrow) print("Yesterday:", yesterday)
timedelta
可以指定天数、小时、分钟、秒等。例如,
datetime.timedelta(hours=3, minutes=30)
表示3小时30分钟的时间间隔。通过加减
timedelta
对象,可以轻松地进行日期和时间的计算。


