python时间相关常用module和方法

1. time

class time.struct_time

    @ desc: 返回的时间值序列的类型为 gmtime() 、 localtime() 和 strptime() 。它是一个带有 named tuple 接口的对象:可以通过索引和属性名访问值。 存在以下值:

struct_time named tuple

    @ eg:

t_struct = localtime()

for x in t_struct:

    print(x)

print(t_struct.tm_zone)

print(t_struct.tm_gmtoff)


asctime([t])

    @param t: struct_time 默认localtime(), 还可以传入:gmtime()则是UTC时间

    @return str: 满足C的struct_time格式的时间表达式。例如:'Wed Feb 22 15:59:17 2023'

ctime([secs])

    @desc: 等价于asctime(localtime(secs))

    @param secs: 即ts值,默认是当前ts并用local时区显示, 没有显示时区设置,若要显示UTC的struct_time字串,则需要+/-local时区与UTC时区相差的秒数

    @return str: 例如:'Wed Feb 22 15:59:17 2023'

gmtime([secs]), localtime([secs])

    @param secs: 即ts值,默认是当前ts并用local时区显示, 没有显示时区设置,若要显示UTC的struct_time字串,则需要+/-local时区与UTC时区相差的秒数

    @return struct_time: 例如:time.struct_time(tm_year=2023, tm_mon=2, tm_mday=22, tm_hour=8, tm_min=16, tm_sec=3, tm_wday=2, tm_yday=53, tm_isdst=0)

mktime(t)

    @desc: localtime()的反函数。注意:gmtime没有反函数,需要人工转换

    @param t: struct_time

    @return secs: 返回(ts +/- 时区的秒数)

    @eg: time.mktime(time.gmtime(0)) ==> -28800.0

time.sleep(secs)

    @param secs: 秒为单位的休眠时间,浮点数

time.strftime(format[, t])

    @desc: 转换一个元组或 struct_time 表示的由 gmtime() 或 localtime() 返回的时间到由 format 参数指定的字符串。如果未提供 t ,则使用由 localtime() 返回的当前时间。 format 必须是一个字符串。如果 t 中的任何字段超出允许范围,则引发 ValueError 。

    @param format: 自定义格式化字符串

    @param t: gmtime([secs])或localtime([secs])。默认localtime() struct_time结构。

    @return str: 自定义format的格式化时间字符串表达式.

    @eg: time.strftime("%Y-%m_%d %H:%M:%S") ==> '2023-02_22 17:13:37'  获得北京时间的自定义字符串格式

time.time()

    @desc: 获取单位为秒的浮点数ts值

    @return 数值: 单位为秒的浮点数ts值

    @eg: print(time.time()) ==》 1677058737.7526665


2. datetime

datetime模块内的类继承关系:

    timedelta

    tzinfo

        timezone

    time

    date

        datetime

2.1 class datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)

    @desc: timedelta 对象表示两个 date 或者 time 的时间间隔

    @return: 返回一个timedelta对象


    @eg: 定义一个3天,1小时,30秒的timedelta对象:timedelta(days = 3, seconds=30, hours=1) ==> datetime.timedelta(days=3, seconds=3630)

2.1.1 timedelta.total_seconds()

    @desc: 获取timedelta对象代表的秒数


    @return 值: 偏移量代表的秒数


    @eg: timedelta(seconds=30, hours=1).total_seconds() ==> 3630.0

2.2 class datetime.date(year, month, day)

    @desc: 代表一个理想化历法中的日期(年、月和日),即当今的格列高利历向前后两个方向无限延伸

    @param year, month, day:


    @return : 一个datetime.date的类对象


    @eg: date(2023, 2, 22) ==> datetime.date(2023, 2, 22)

2.2.1 classmethod date.today()

    @desc: 类方法。返回当前的本地日期。


    @eg: date.today() ==> datetime.date(2023, 2, 22)  等价于 date.fromtimestamp(time.time())

2.2.2 classmethod date.fromtimestamp(timestamp)

    @desc: 类方法。返回对应于 POSIX 时间戳的当地时间,例如 time.time() 返回的就是时间戳。

    @param timestamp:


    @eg: date.fromtimestamp(time.time()) ==》 datetime.date(2023, 2, 22)

2.2.3 classmethod date.fromisoformat(date_string)

    @desc: 返回一个对应于以 YYYY-MM-DD 格式给出的 date_string 的 date 对象

    @param date_string: ISO标准日期格式化字符串, 只支持 YYYY-MM-DD 格式


    @eg: date.fromisoformat('2019-12-04') ==> datetime.date(2019, 12, 4)

2.2.4 date_obj.replace(year=self.year, month=self.month, day=self.day)

    @desc: 生成一个新date,原date不变,新date在旧的上面进行改动

    @param : 想要被修改的字段

    @return : 一个新date对象

    @eg:

d_obj = date(2023, 2, 22)

new_obj = d_obj.replace(month=1)

print(d_obj, new_obj) ==> 2023-02-22 2023-01-22

2.2.5 date_obj.timetuple()

    @desc: date转struct_time

    @return struct_time:

    @eg:

d_t = d_obj.timetuple()

for one in d_t:

    print(one)

print(d_t.tm_gmtoff, d_t.tm_zone)

2.2.6 date_obj.isoformat()

    @desc: date转标准iso日期字符串

2.2.7 date_obj.strftime(format)

    @desc: 返回一个由显式格式字符串所指明的代表日期的字符串。

    @eg: d_obj.strftime('%Y%m%d') ==> '20230223'


2.3 class datetime.datetime(yearmonthdayhour=0minute=0second=0microsecond=0tzinfo=None*fold=0)

datatime.datetime由于有时分秒,因此要注意时区

2.3.1 classmethod datetime.today()

    @desc: 返回localtime的datetime.datetime对象 <==> datetime.fromtimestamp(time.time())

2.3.2 classmethod datetime.now(tz=None)

    @desc: 参数 tz 为 None 或未指定,这就类似于 today()

    @param tz: 如果 tz 不为 None,它必须是 tzinfo 子类的一个实例,并且当前日期和时间将被转换到 tz 时区

2.3.3 classmethod datetime.utcnow()

2.3.4 classmethod datetime.fromtimestamp(timestamptz=None)

2.3.5 classmethod datetime.utcfromtimestamp(timestamp)

2.3.6 classmethod datetime.fromisoformat(date_string)

2.3.7 classmethod datetime.strptime(date_stringformat)

    @desc: 返回一个对应于 date_string,根据 format 进行解析得到的 datetime 对象。

2.3.8 datetime_obj.date()

    @desc: 返回date对象

2.3.9 datetime_obj.replace(year=self.yearmonth=self.monthday=self.dayhour=self.hourminute=self.minutesecond=self.secondmicrosecond=self.microsecondtzinfo=self.tzinfo*fold=0)

2.3.10 datetime_obj.astimezone(tz=None)

    @desc: 用于datetime.datetime对象转换时区

2.3.11 datetime_obj.datetime.tzname()

2.3.12 datetime_obj.timestamp()

    @desc: 返回ts

2.4 class datetime.time(略)

2.5 class datetime.timezone(offsetname=None)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,295评论 6 512
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,928评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,682评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,209评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,237评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,965评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,586评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,487评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,016评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,136评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,271评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,948评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,619评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,139评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,252评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,598评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,267评论 2 358

推荐阅读更多精彩内容