python datetime time使用

1.python获取当前时间
time.time() 获取当前时间戳
time.localtime() 当前时间的struct_time形式
time.ctime() 当前时间的字符串形式

2.python格式化字符串
格式化成2009-03-20 11:45:39形式
time.strftime(“%Y-%m-%d %H:%M:%S”, time.localtime())

格式化成Sat Mar 28 22:24:24 2009形式
time.strftime(“%a %b %d %H:%M:%S %Y”, time.localtime())

3.将格式字符串转换为时间戳
a = “Sat Mar 28 22:24:24 2009”
b = time.mktime(time.strptime(a,”%a %b %d %H:%M:%S %Y”))
4.
datetime.datetime.now() –系统当前时间

datetime.datetime(2016, 6, 2, 17, 25, 7, 779000)

datetime.date.today() –今天日期

datetime.date(2016, 6, 2)

datetime.datetime.today()–系统当前时间

datetime.datetime(2016, 6, 2, 17, 38, 31, 427000)

datetime.datetime.today().weekday()–获取一周中的第几天 ,一周从0开始

#datetostr(date): –datetime类型的时间格式化成str
方法1:
datetime.datetime.strftime(datetime.date.today(),’%Y-%m-%d %H:%M:%S’)

‘2016-06-02 00:00:00’

方法2:
str(datetime.date.today())

‘2016-06-02’

#strToDate(strdate): –把str变成date
datetime.datetime.strptime(‘2016-06-02 00:00:00’,’%Y-%m-%d %H:%M:%S’)

datetime.datetime(2016, 6, 2, 0, 0)

datetime.timedelta(days=1)

”’
格式化常用的几个参数
Y : 1999
y :99
m : mouth 02 12
M : minute 00-59
S : second
d : day
H : hour
3种基本格式
DATE_FMT = ‘%Y-%m-%d’
DATETIME_FMT = ‘%Y-%m-%d %H:%M:%S’
DATE_US_FMT = ‘%d/%m/%Y
”’
参考链接:
http://www.open-open.com/lib/view/open1410416920211.html
http://blog.sina.com.cn/s/blog_6c3748830100ypt9.html
http://blog.youkuaiyun.com/kiki113/article/details/4033017

### 使用 `datetime` 和 `time` 模块 #### 获取当前时间 通过 `time` 模块中的 `time()` 函数可以获取自纪元以来的秒数,再利用 `ctime()` 将其转换成可读形式的时间字符串[^1]。 ```python import time current_time = time.ctime(time.time()) print(f"The current time is {current_time}") ``` 对于更复杂的日期和时间操作,则推荐使用 `datetime` 模块下的 `datetime.now()` 方法来获得当前本地时间的对象实例[^2]。 ```python from datetime import datetime now = datetime.now() formatted_now = now.strftime("%Y-%m-%d %H:%M:%S") # 自定义格式化输出 print(f"Now it's {formatted_now}.") ``` #### 设置特定时间和日期 如果想要创建指定时刻的时间对象,在 `time` 中可以通过 `struct_time` 结构体配合 `mktime()` 或者直接赋值给 `time.struct_time` 来实现;而在 `datetime` 下则更为直观——只需传入相应的参数即可初始化一个新的 `datetime` 对象[^3]。 ```python specific_date_and_time = datetime(2023, 9, 8, hour=17, minute=45, second=30) print(specific_date_and_time) # 使用time模块设置具体时间较为复杂,通常不建议这样做。 ``` #### 时间间隔计算 当涉及到两个不同时间节点之间的差值运算时,应该优先考虑采用 `datetime.timedelta` 类来进行加减法运算,这能极大地简化程序逻辑并提高代码可读性[^4]。 ```python delta = timedelta(days=10, hours=2, minutes=15) future_moment = now + delta print(f"In ten days two hours fifteen minutes from now will be {future_moment}.") # 而time模块本身并不支持这样的操作,需借助其他方式间接完成相同任务。 ``` #### 格式化与解析 最后值得一提的是关于时间戳到字符串以及反之的操作。虽然两者都能做到这一点,但是显然 `strftime()/strptime()` 这样的接口设计让 `datetime` 更胜一筹[^5]。 ```python timestamp_str = "2023-09-08T17:45:30" parsed_datetime = datetime.strptime(timestamp_str, "%Y-%m-%dT%H:%M:%S") unix_timestamp = parsed_datetime.timestamp() # 转换为Unix时间戳 readable_string = datetime.fromtimestamp(unix_timestamp).isoformat() print(readable_string) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值