博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
time 和 datetime 模块
阅读量:4637 次
发布时间:2019-06-09

本文共 2485 字,大约阅读时间需要 8 分钟。

 

在Python中,通常有这几种方式来表示时间:

  • 时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型。
  • 格式化的时间字符串(Format String)
  • 结构化的时间(struct_time):struct_time元组共有9个元素共九个元素:(年,月,日,时,分,秒,一年中第几周,一年中第几天,夏令时)
    import timeprint(time.time()) # 时间戳:1487130156.419527print(time.strftime("%Y-%m-%d %X")) #格式化的时间字符串:'2017-02-15 11:40:53'print(time.localtime()) #结构化的时间:本地时区的struct_time print(time.gmtime())    #UTC时区的struct_time

    # localtime([secs])# 将一个时间戳转换为当前时区的struct_time。secs参数未提供,则以当前时间为准。time.localtime()time.localtime(1473525444.037215)# gmtime([secs]) 和localtime()方法类似,gmtime()方法是将一个时间戳转换为UTC时区(0时区)的struct_time。# mktime(t) : 将一个struct_time转化为时间戳。print(time.mktime(time.localtime()))#1473525749.0# strftime(format[, t]) : 把一个代表时间的元组或者struct_time(如由time.localtime()和# time.gmtime()返回)转化为格式化的时间字符串。如果t未指定,将传入time.localtime()。如果元组中任何一个# 元素越界,ValueError的错误将会被抛出。 print(time.strftime("%Y-%m-%d %X", time.localtime()))#2016-09-11 00:49:56# time.strptime(string[, format])# 把一个格式化时间字符串转化为struct_time。实际上它和strftime()是逆操作。print(time.strptime('2011-05-05 16:37:06', '%Y-%m-%d %X'))#time.struct_time(tm_year=2011, tm_mon=5, tm_mday=5, tm_hour=16, tm_min=37, tm_sec=6,#  tm_wday=3, tm_yday=125, tm_isdst=-1)#在这个函数中,format默认为:"%a %b %d %H:%M:%S %Y"。# ctime([secs]) : 把一个时间戳(按秒计算的浮点数)转化为time.asctime()的形式。如果参数未给或者为# None的时候,将会默认time.time()为参数。它的作用相当于time.asctime(time.localtime(secs))。print(time.ctime())  # Sun Sep 11 00:46:38 2016print(time.ctime(time.time()))  # Sun Sep 11 00:46:38 2016

    # asctime([t]) : 把一个表示时间的元组或者struct_time表示为这种形式:'Sun Jun 20 23:21:05 1993'。# 如果没有参数,将会将time.localtime()作为参数传入。print(time.asctime())#Sun Sep 11 00:43:43 2016# ctime([secs]) : 把一个时间戳(按秒计算的浮点数)转化为time.asctime()的形式。如果参数未给或者为# None的时候,将会默认time.time()为参数。它的作用相当于time.asctime(time.localtime(secs))。print(time.ctime())  # Sun Sep 11 00:46:38 2016print(time.ctime(time.time()))  # Sun Sep 11 00:46:38 2016
    # datetime 模块#时间加减import datetimeprint(datetime.datetime.now()) #返回 2016-08-19 12:47:03.941925print(datetime.date.fromtimestamp(time.time()) )  # 时间戳直接转成日期格式 2016-08-19print(datetime.datetime.now() )print(datetime.datetime.now() + datetime.timedelta(3)) #当前时间+3天print(datetime.datetime.now() + datetime.timedelta(-3)) #当前时间-3天print(datetime.datetime.now() + datetime.timedelta(hours=3)) #当前时间+3小时print(datetime.datetime.now() + datetime.timedelta(minutes=30)) #当前时间+30分c_time  = datetime.datetime.now()print(c_time.replace(minute=3,hour=2)) #时间替换

     

转载于:https://www.cnblogs.com/snailgirl/p/9416003.html

你可能感兴趣的文章
读《大道至简》第六章感想
查看>>
ef linq 中判断实体中是否包含某集合
查看>>
章三 链表
查看>>
Solution for Concurrent number of AOS' for this application exceeds the licensed number
查看>>
CSE 3100 Systems Programming
查看>>
IntelliJ IDEA 的Project structure说明
查看>>
Java Security(JCE基本概念)
查看>>
Linux Supervisor的安装与使用入门
查看>>
创建 PSO
查看>>
JasperReport报表设计4
查看>>
项目活动定义 概述
查看>>
团队冲刺04
查看>>
我的Python分析成长之路8
查看>>
泛型在三层中的应用
查看>>
SharePoint2010 -- 管理配置文件同步
查看>>
.Net MVC3中取得当前区域的名字(Area name)
查看>>
获得屏幕像素以及像素密度
查看>>
int与string转换
查看>>
adb命令 判断锁屏
查看>>
推荐一个MacOS苹果电脑系统解压缩软件
查看>>