13
2020
02

python中time和datetime的常用操作

import time
import datetime

'''
%a 星期几的简写 Weekday name, abbr.
%A 星期几的全称 Weekday name, full
%b 月分的简写 Month name, abbr.
%B 月份的全称 Month name, full
%c 标准的日期的时间串 Complete date and time representation
%d 十进制表示的每月的第几天 Day of the month
%H 24小时制的小时 Hour (24-hour clock)
%I 12小时制的小时 Hour (12-hour clock)
%j 十进制表示的每年的第几天 Day of the year
%m 十进制表示的月份 Month number
%M 十时制表示的分钟数 Minute number
%S 十进制的秒数 Second number
%U 第年的第几周,把星期日做为第一天(值从0到53)Week number (Sunday first weekday)
%w 十进制表示的星期几(值从0到6,星期天为0)weekday number
%W 每年的第几周,把星期一做为第一天(值从0到53) Week number (Monday first weekday)
%x 标准的日期串 Complete date representation (e.g. 13/01/08)
%X 标准的时间串 Complete time representation (e.g. 17:02:10)
%y 不带世纪的十进制年份(值从0到99)Year number within century
%Y 带世纪部分的十制年份 Year number
%z %Z 时区名称,如果不能得到时区名称则返回空字符。Name of time zone
%% 百分号
'''


def demo_time():
    # 时间戳
    print(time.time())
    # 1557472133.02831

    # 计算代码执行时间
    t_begin = time.time()
    # 延时
    time.sleep(0.1)
    t = time.time() - t_begin
    print('used time %0.3f' % t)
    # used time 0.101

    # 日期格式化
    print(time.strftime('%Y-%m-%d'))
    # 2019-05-10
    print(time.strftime('%Y-%m-%d %H:%M:%S'))
    # 2019-05-10 15:08:53

    # 字符串转日期
    t = time.strptime('1985-01-07 00:12:34', '%Y-%m-%d %H:%M:%S')
    print(t)
    # time.struct_time(tm_year=1985, tm_mon=1, tm_mday=7, tm_hour=0, tm_min=12, tm_sec=34, tm_wday=0, tm_yday=7, tm_isdst=-1)

    # 当地时区距离格林威治的偏移秒数(>0,美洲;<=0大部分欧洲,亚洲,非洲)
    print(time.timezone)
    # -28800
    print(time.timezone / 3600)
    # -8.0

    # 本地时区名称
    print(time.tzname)
    # ('Öйú±ê׼ʱ¼ä', 'ÖйúÏÄÁîʱ')


def demo_datetime():
    print(datetime.date.today())
    # 2019-05-10
    print(datetime.datetime.now())
    # 2019-05-10 15:15:04.470861

    # 日期格式化
    print(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'))
    # 2019-05-10 15:16:31

    # 字符串转日期
    t = datetime.datetime.strptime('1985-01-07 00:12:34', '%Y-%m-%d %H:%M:%S')
    print(t)
    # 1985-01-07 00:12:34

    # 日期计算
    # days: float = ..., seconds: float = ..., microseconds: float = ...,
    # milliseconds: float = ..., minutes: float = ..., hours: float = ...,
    # weeks: float = ..., *, fold: int = ...

    # 日期-3天
    t = datetime.datetime.now() + datetime.timedelta(-3)
    print(t)

    # 日期-3小时
    t = datetime.datetime.now() + datetime.timedelta(hours=-3)
    print(t)

    # 日期-3分钟
    t = datetime.datetime.now() + datetime.timedelta(minutes=-3)
    print(t)


if __name__ == '__main__':
    demo_time()
    demo_datetime()


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。