python 2 教程
作者: CodeYang
日期和时间

日期和时间常见的操作包括:获取指定时间字段(如:年、月、日)、时间格式化、时间加减。

python中有以下几个与时间相关的模块:

  • time:提供了更底层的时间相关的功能,大部分函数调用了C语言的同名函数,但在不同的操作系统上表现的行为可能不一致,如:time.clock()。
  • datetime:是python处理日期和时间的标准库,提供了更多实用功能,如:时间加减。
  • calender:提供了日历相关的功能,如:判断是否闰年。

介绍三个模块之前,先介绍一下时间的两种表示方式:

  • (1)时间戳:记录自从1970年1月1日午夜(历元)经过的秒数,结果值为一个浮点值
  • (2)时间元组:time.struct_time(tm_year=2019, tm_mon=3, tm_mday=3, tm_hour=22, tm_min=10, tm_sec=10,...)

1、time模块

(1)获取当前时间戳

# -*- coding: UTF-8 -*-
import time

print time.time()
1551622712.57

时间戳转换成时间元组:

#获取时间戳
t0=time.time()
#时间戳转换成时间元组
t1 = time.localtime(t0)
print type(t1)
print t1

(2)时间格式化

格式化当前时间:

print time.strftime("%Y-%m-%d %H:%M:%S")
格式化特定时间:
t = time.localtime(time.time()) 
print time.strftime("%Y-%m-%d %H:%M:%S", t)

(3)字符串解析为时间对象

print time.strptime('2019-3-3 22:22:22', '%Y-%m-%d %H:%M:%S')

#输出: time.struct_time(tm_year=2019, tm_mon=3, tm_mday=3, tm_hour=22, tm_min=22, tm_sec=22, tm_wday=6, tm_yday=62, tm_isdst=-1)

2、datetime模块

datetime模块下包含以下几个对象:
  • timedelta # 记录两个时间差值,可理解为增量
  • tzinfo # 时区相关
  • time # 只关注时间
  • date # 只关注日期
  • datetime # 同时有时间和日期
常用的对象是:datetime和timedelta

获取指定的字段:

# -*- coding: UTF-8 -*-

import datetime

print datetime.datetime.year
print datetime.datetime.month
print datetime.datetime.day
print datetime.datetime.hour
print datetime.datetime.minute
print datetime.datetime.second
计算两个时间的差:
t1=datetime.datetime(2019, 2, 3, 22, 22, 2)
t2=datetime.datetime(2019, 3, 3, 22, 22, 2)

diff=t2-t1
print type(diff)
#output: <type 'datetime.timedelta'>

print diff
#output: 28 days, 0:00:00

print diff.days
#output:28

计算时间相加:


# -*- coding: UTF-8 -*-

import datetime

t1=datetime.datetime(2019, 2, 3, 22, 22, 2)

deta=datetime.timedelta(days=30)

t2=t1+deta

print type(t2)
#output: <type 'datetime.datetime'>

print t2
#output: 2019-03-05 22:22:02


3、calender模块


标签: datetime、tm、time、print、-%
一个创业中的苦逼程序员
  • 回复
隐藏