程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

python中的time、datetime模块

发布于2020-02-24 22:44     阅读(990)     评论(0)     点赞(24)     收藏(5)


1.time时间模块

1.1.获取当前时间戳

使用time模块中的time()函数可以获取当前时间的时间戳。当前的时间戳应为1970年1月1日到函数执行时的秒数值。例如,

import time  # 导入time模块

t1 = time.time()
print(t1)
  • 1
  • 2
  • 3

执行结果如下,

1582457981.234377

    记得要导入time模块。

    1.2.时间戳与时间元组的转换

    1.2.1.时间戳转化为时间元组

    时间戳可以转化为0时区的时间元组或者转化为当前时区的时间元组。

    我们先使用gmtime()函数将时间戳转化为0时区的时间元组。

    t2 = time.gmtime(t1)
    print(t2)
    • 1

    执行结果如下,

    time.struct_time(tm_year=2020, tm_mon=2, tm_mday=23, tm_hour=11, tm_min=46, tm_sec=32, tm_wday=6, tm_yday=54, tm_isdst=0)

      注意,由于当前时间的改变t1的值发生了变化。

      因为我们所在的中国为东8区,所以我们不能直接使用t2的结果。所以,我们现在来用localtime()函数将当前时间戳转化为当前时区的时间元组。

      t3 = time.localtime(t1)
      print(t3)
      • 1

      执行结果如下,

      time.struct_time(tm_year=2020, tm_mon=2, tm_mday=23, tm_hour=19, tm_min=49, tm_sec=57, tm_wday=6, tm_yday=54, tm_isdst=0)

        1.2.2.将时间元组转换为时间戳

        我们可以使用mktime()函数将时间元组转化为时间戳。例如,

        print(time.mktime(t3))

          执行结果如下,

          1582458724.0

            1.3.时间元组与时间字符串的转换

            1.3.1.将时间元组转化为时间字符串

            我们需要使用使用strftime()函数将时间元组转化为时间字符串。

            strftime()函数需要传入两个参数,第一个参数是我们想要的时间字符串格式,第二个参数是要转化的时间元组。

            以下为时间字符串的格式,

            在这里插入图片描述
            例如,我们将t3时间元组转换为“ 年 月 日 时:分:秒”的格式,

            str1 = time.strftime("%Y %m %d %H:%M:%S", t3)
            print(str1)
            • 1

            执行结果如下,

            2020 02 23 19:59:50

              1.3.2.将时间字符串转换为时间元组

              我们可以使用strptime()函数将时间字符串转换为时间元组。strptime()函数同样有两个函数,第一个函数时时间字符串,第二个参数是时间字符串对应的格式。

              例如,我们将字符串"2020 02 23 20:03:37"转换为时间元组,

              print(time.strptime("2020 02 23 20:03:37", "%Y %m %d %H:%M:%S"))

                执行结果如下,

                time.struct_time(tm_year=2020, tm_mon=2, tm_mday=23, tm_hour=20, tm_min=3, tm_sec=37, tm_wday=6, tm_yday=54, tm_isdst=-1)

                  1.4.休眠

                  time模块中的sleep()函数可以使程序在执行到sleep()的时候暂停指定的秒数。

                  例如,我们来做一个10次的循环,并且每次循环都间隔2秒钟,

                  for i in range(10):
                      print(i)
                      time.sleep(2)  # 休眠2秒钟
                  • 1
                  • 2

                  我们执行时会发现每次打印i之间会间隔2秒钟。

                  2.datetime模块

                  2.1.获取当前的时间和日期

                  使用datetime模块中的now()函数可以直接输出当前的时间和日期。

                  from datetime import datetime
                  
                  dt1 = datetime.now()
                  print(dt1)
                  • 1
                  • 2
                  • 3

                  执行结果如下,

                  2020-02-23 20:14:15.662153

                    2.1.获取指定时间和日期

                    datetime()函数可以获取指定的时间和日期。datetime()函数最多输入7个参数,分别为年、月、日、时、分、秒、微秒。

                    例如,获取2020年2月23日,

                    dt2 = datetime(2020, 2, 23)
                    print(dt2)
                    • 1

                    执行结果如下,

                    2020-02-23 00:00:00

                      2.2.获取年、月、日、时、分、秒、微秒

                      我们来获取dt1的年、月、日、时、分、秒、微秒,

                      print(dt1.year)  # 获取年
                      print(dt1.month)  # 获取月
                      print(dt1.day)  # 获取日
                      print(dt1.date())  # 获取年月日
                      print(dt1.time())  # 获取时分秒微秒
                      • 1
                      • 2
                      • 3
                      • 4

                      执行结果如下,

                      2020
                      2
                      23
                      2020-02-23
                      20:23:29.938045
                      • 1
                      • 2
                      • 3
                      • 4

                      2.3.将日期转换为字符串

                      我们使用strftime()函数将dt1转换为字符串,

                      print(dt1.strftime("%Y %m %d %H:%M:%S"))

                        datetime模块中的格式化标识符与time模块基本一致。

                        2.4.时间与时间戳的转换

                        我们可以使用timestamp()函数将时间转换为时间戳。例如,

                        ts1 = dt1.timestamp()
                        print(ts1)
                        • 1

                        执行结果如下,

                        1582460997.201557

                          2.5.时间加减

                          我们可以直接将两个日期相减得出间隔。例如,

                          td = dt1 - dt2
                          print(td)
                          • 1

                          执行结果如下,

                          20:36:13.495821

                            我们也可以从datatime中导入timedelta模块来进行计算。

                            timedelta()函数可以将某个日期赋给变量,并用来计算。例如,我们要计算dt2加上3天是什么日期,

                            from datetime import timedelta
                            
                            td1 = timedelta(days=3)
                            dt3 = dt2 + td1
                            print(dt3)
                            • 1
                            • 2
                            • 3
                            • 4

                            执行结果如下,

                            2020-02-26 00:00:00
                              发布了25 篇原创文章 · 获赞 0 · 访问量 408


                              所属网站分类: 技术文章 > 博客

                              作者:djjdf

                              链接:https://www.pythonheidong.com/blog/article/232606/0a6aabfa6be68cf5b1fa/

                              来源:python黑洞网

                              任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

                              24 0
                              收藏该文
                              已收藏

                              评论内容:(最多支持255个字符)