python常用数据类型操作-时间日历

python程序能够用很多方式处理日期和时间,转换日期格式是常见的功能。

常用操作

1.time模块

    提供了处理时间和表示之间转换的功能

    获取当前时间戳

        概念:从0时区的1970年1月1日0时0分0秒,到所给定日期时间的秒数。

        浮点数

        获取方式:import time

                        time.time()

import time
result = time.time()
years = result / (24 * 60 * 60 * 365) + 1970
print(result, years)

    获取时间元组

        很多python时间函数将时间处理为9个数组的元组

        图解:

        

        获取方式:

            import time

            time.localtime([seconds])->seconds可选的时间戳,如果不填写,默认当前时间戳。

print(time.localtime())
print(time.localtime(1526918254.346959))

    获取格式化的时间

        秒 ->可读时间

            import time

            time.ctime([seconds]) -> seconds可选的时间戳,默认当前时间戳。

print(time.ctime())

        时间元组 -> 可读时间

            import time

            time.asctime([p_tuple]) -> p_tuple可选的时间元组,默认当前时间元组。

time_tuple = time.localtime()
print(time.asctime(time_tuple))

    格式化日期字符<-->时间戳

        时间远足 ->格式化日期

            time.strftime(格式字符串,时间元组)

            例如:time.strtime("%Y-%m-%d %H:%M:%S", timelocaltime())

print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
print(time.strftime("%y-%m-%d %H:%M:%S", time.localtime()))
print(time.strftime("%Y---%m---%d %H:%M:%S", time.localtime()))

        格式化日期 -> 时间元组

            time.strptime(日期字符串,格式符字符串)


            例如:

print(time.strptime("2018-05-22 00:14:04", "%Y-%m-%d %H:%M:%S"))

              time.mktime(时间元组) 将时间元组转换为时间戳

                

print(time.time())
print(time.mktime(time.localtime()))

 

   常用格式符

            %y -> 两位数的年份表示(0-99)

            %Y -> 四位数的年份表示(000-9999)

            %m -> 月份(01-12)

            %d -> 月内中的一天(0-31)

            %H -> 24小时制小时数(0-23)

             %I -> 12小时制小时数(01-12)

            %M -> 分钟数(00-59)

            %S -> 秒(0-59)

            %a -> 本地简化星期名称

            %A -> 本地完整星期名称

            %b -> 本地简化的月份名称

            %B -> 本地完整的月份名称

            %c -> 本地相应的日期表示和时间表示

    获取当前cpu时间

        time.clock() -> 浮点数的秒数

        可用来统计一段程序代码的执行耗时

start = time.clock()
for i in range(0,10000):
    print(i)

end = time.clock()
print(end - start)

    休眠n秒

        推迟线程的执行,可以简单的理解为,让程序暂停。

        time.sleep(secs)

start = time.clock()
for i in range(0, 10000):
    if i == 10:
        time.sleep(10)
    print(i)
end = time.clock()
print(end - start)

2.calendar模块

    提供与日历相关的功能,比如:为给定的月份或年份打印文本日历的功能。

    获取某月日历:import calendar

                           calendar.month(2018,5)

import calendar
print(calendar.month(2018, 9))

3.datetime模块

    python处理时间和日历的标准库。这个模块里有datetime类,此外常用的还有date类,以及time类。可以做一些计算之类的操作。

    获取当天日期

        import datetime

        print(datetime.datetime.now)

        print(datetime.datetime.today)

    单独获取当前的年月日时分秒

        

print(datetime.datetime.now().year)
print(datetime.datetime.now().month)
print(datetime.datetime.now().day)
print(datetime.datetime.now().hour)
print(datetime.datetime.now().minute)
print(datetime.datetime.now().second)

    获取两个日期时间差

        import datetime

        first = datetime.datetime(2018, 5, 22, 10, 0, 0)

        second = datetime.datetime(2018, 5, 10, 9, 0, 0)

        result = first - second

        print(result)

import datetime

first = datetime.datetime(2018, 5, 22, 10, 0, 0)

second = datetime.datetime(2018, 5, 10, 9, 0, 0)

result = first - second

print(result)
print(result.total_seconds())  # 获取相差多少秒。

    计算n天之后的日期

import datetime
t = datetime.datetime.today()
result = t + datetime.timedelta(days=7)
print(t, result)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值