Python 日期处理

time模块
  • time函数
    调用time函数,返回当前的时间戳,返回的时间戳是以秒为单位的浮点数
import time

print(time.time()) #获取当前时间戳
  • localtime函数
  • 可传入一个可选参数,以秒为单位的时间戳
  • 传入参数,将时间戳格式化为本地时间,返回一个struct_time元组
  • 不传入参数,将当前时间戳格式化为本地时间,返回一个struct_time元组
  • Struct_time属性描述:

属性

含义


tm_year

年份

4位数字表示: 2020

tm_mon

月份

1-12数字表示:12

tm_mday

日期

1-31数字表示:5

tm_hour

小时

0-23数字表示:12

tm_min

分钟

0-59数字表示:30

tm_sec


0-60数字表示:30

tm_wday

一周的第几天

0-6数字表示,0表示周一:5

tm_yday

一年的第几天

1-366数字表示:300

tm_isdst

是否是夏令时

默认值为-1,0表示不是,1表示是

import time

date_time1 = time.localtime()
print(date_time1)

ts=time.time()
date_time2=time.localtime(ts)
print(date_time2)
  • strftime函数
    strftime(fmt[,struct_time])函数是可以按照自定义的格式化参数将时间格式化,fmt是函数入参的自定义格式化参数,struct_time可选,不传表示当前时间格式化
  • 时间格式化符号:

格式化符号

含义

%y

两位数的年份表示

%Y

四位数的年份表示

%m

月份

%d

日期

%H

24小时制小时数

%I

12小时制小时数

%M

分钟数

%S


%a

本地简化星期名称

%A

本地完整星期名称

%b

本地简化的月份名称

%B

本地完整的月份名称

%c

本地相应的日期表示和时间表示

%j

一年内的第几天

%p

显示本地时间的AM或PM

%U

一年中的第几周

%w

星期(0-6)0表示星期日

%W

一年中的星期数:星期一是一个星期的开始

%x

本地日期表示 20/12/5

%X

本地时间表示:10:10:10

%Z

当前时区的名称

import time
#默认格式化当前时间
print(time.strftime('当前时间:%Y-%m-%d %H:%M:%S'))
#指定时间格式化
print(time.strftime('指定时间:%Y-%m-%d %H:%M:%S',time.localtime(1591545600000)))
  • strptime函数
    strptime(date_time,format)函数可以将一个格式化的时间字符串转换为struct_time元组
print(time.strptime("2020-12-03 10:00:00","%Y-%m-%d %H:%M:%S"))
  • mktime函数
    mktime(tuple)函数可以将一个时间元组转换为一个浮点型时间戳
print(time.mktime(time.localtime()))
  • sleep函数
    sleep(seconds)函数可以让程序暂停运行,睡眠等待,传入参数以秒为单位
for i in range(3,-1,-1):
  print('倒计时:',i)
  if i !=0:
    time.sleep(1)
  else:
    print('Go!')
datetime模块

datetime模块丰富的日期和时间处理相关函数,比time模块更加高级

  • now方法
    now()方法是指获取当前时间,默认返回格式是:YYYY-MM-DD HH:MM:SS.mmmmmm
import datetime
import time

#获取当前时间
date = datetime.datetime.now()
print(date)

print('year:',date.year)
print('month:',date.month)
print('day:',date.day)
print('hour:',date.hour)
print('minute:',date.minute)
print('second:',date.second)
  • strftime方法
    strftime(fmt)方法是按照自定义的格式化对日期和时间进行格式化,fmt是格式化符号
date = datetime.datetime.now().strftime('%Y%m%d%H%M%S')
print('自定义格式:',date)
  • fromtimestamp方法
    fromtimestamp(timestamp)方法是将时间戳timestamp以日期的形式进行格式化,默认返回格式是:YYYY-MM-DD HH:MM:SS.mmmmmm
#默认格式
print(datetime.datetime.fromtimestamp(time.time()))
#自定义格式
print(datetime.datetime.fromtimestamp(time.time()).strftime('%Y-%m-%d %H:%M:%S'))
  • timedelta类
    timedelta类是datetime模块内置的时间间隔类,可以通过传入参数,days,hours,minutes,seconds,milliseconds,microseconds,weeks 的值来创建指定时间间隔对象
today = datetime.datetime.today()
print("今天:",today.strftime('%Y-%m-%d'))

days = datetime.timedelta(days=2)

print("后天:",(today+days).strftime('%Y-%m-%d'))

  • 当才华还配不上野心,就静下来学习
  • blog地址:hangzhi.site