python常用的内置模块之time,datatime

本文介绍了Python中表示时间的三种方式:时间戳、字符串时间及结构化时间,并详细阐述了它们之间的相互转化,包括时间戳转结构化时间、结构化时间转时间戳、结构化时间转字符串时间以及时间戳转字符串时间。此外,还重点讲解了datetime模块,包括其四个主要类:date、time、datetime和timedelta,及其常用方法。掌握这些内容对于日常编程非常关键。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

表示时间的三种方式

python中有三种表示时间的方式,时间戳,字符串时间,结构化时间。

  • 时间戳(timestamp):1970年1月1日00:00:00开始按秒计算的偏移量,type(time.time() 是当前时间的时间戳) float类型。
  • 格式化时间字符串(Format String):‘1999-12-06’。
  • 时间元组(stuct_time):共有9个元素(年月日时分秒,一年中的第几周,一年中第几天等)

三者间的转化

在这里插入图片描述

时间戳与结构化时间间的转换
  • 时间戳转换成结构化时间:

    • time.localtime(参数):
      localtime()方法有一个参数,形式是时间戳形式,默认**time.time()**当地时区前时间戳。

    • time.gmtime(参数):类似localtime,只是是零时区的时间。

import time


# 时间戳概念
# 返回1564997532.4630558 (从一九七零年一月一日凌晨至今的时间)单位秒
print(time.time())

# 将时间戳转为结构化时间,得到一个结构化时间对象,无返回值
# time.struct_time(tm_year=2019, tm_mon=8, tm_mday=5, tm_hour=17,
#                  tm_min=34, tm_sec=44, tm_wday=0, tm_yday=217, tm_isdst=0)
# 依次是年月日,时分秒,星期几(0,6),一年中的第几天,是否是夏令时
# 函数可以传参数,必须是时间戳,默认当前时间
print(time.localtime())
# 将时间戳转为结构化时间,
# 和localtime()一样,只不过这个是世界标准时间(0时区),默认当前时间
print(time.gmtime())
  • 结构化时间转换为时间戳
    time.mktime()接收一个struct_time,返回一个时间戳
# 将结构化时间转为时间戳(必须有参数,参数是结构化时间)
print(time.mktime(time.localtime()))
结构化时间和字符串时间间的转换。
# 将结构化时间转为字符串时间(第一个参数是转化形式,第二个是一个结构换时间对象, 默认当前时间)
print(time.strftime('%Y-%m-%d %X', time.localtime()))

# 将字符串时间转为结构化时间(两个参数一一对应,前一个是字符串时间,后一个是转化形式)
print(time.strptime('2018:12:24 17:50:20', '%Y:%m:%d %X'))
以固定的格式将结构化时间转换为字符串时间

asctime() 传入参数结构化时间,若不传,默认当前时间

# 形式是('%a %b %d %H:%M:%S %Y')
# 代表(周几,月份,日份,时分秒,年份)
# 默认当前时间
print(time.asctime())
以固定的格式时间戳转化为字符串时间

ctime()传入草拟书 时间戳 ,若不传,默认当前时间

# 形式是('%a %b %d %H:%M:%S %Y')
# 代表(周几,月份,日份,时分秒,年份)
# 默认当前时间
print(time.ctime())
asctime()与ctime()以固定的形式将结构化时间,时间戳转化为字符串时间。

datatime模块。

datatime模块有四个主要的类。

  1. datetime.date: 是指年月日构成的日期(相当于日历)
  2. datetime.time: 是指时分秒微秒构成的一天24小时中的具体时间(相当于手表)
  3. datetime.datetime: 上面两个合在一起,既包含时间又包含日期
  4. datetime.timedelta: 时间间隔对象(timedelta)。一个时间点(datetime)加上一个时间间隔(timedelta)可以得到一个新的时间点(datetime)。比如今天的上午3点加上5个小时得到今天的上午8点。同理,两个时间点相减会得到一个时间间隔。

其中每个类下都有很多方法。
今天就写一个最常用的方法。

import datetime


print(datetime.datetime.now())  # 以固定的字符串格式将当前时间打印出来

时间模块在以后不我们的编程中都很重要的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值