• python——时间与时间戳之间的转换


    此篇文章引自http://blog.csdn.net/google19890102/article/details/51355282

    对于时间数据,如2016-05-05 20:28:54,有时需要与时间戳进行相互的运算,此时就需要对两种形式进行转换,在Python中,转换时需要用到time模块,具体的操作有如下的几种:

    • 将时间转换为时间戳
    • 重新格式化时间
    • 时间戳转换为时间
    • 获取当前时间及将其转换成时间戳

    1、将时间转换成时间戳

    将如上的时间2016-05-05 20:28:54转换成时间戳,具体的操作过程为:

    • 利用strptime()函数将时间转换成时间数组
    • 利用mktime()函数将时间数组转换成时间戳
    #coding:UTF-8
    import time
    
    dt = "2016-05-05 20:28:54"
    
    #转换成时间数组
    timeArray = time.strptime(dt, "%Y-%m-%d %H:%M:%S")
    #转换成时间戳
    timestamp = time.mktime(timeArray)
    
    print timestamp
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    2、重新格式化时间

    重新格式化时间需要以下的两个步骤:

    • 利用strptime()函数将时间转换成时间数组
    • 利用strftime()函数重新格式化时间
    #coding:UTF-8
    import time
    
    dt = "2016-05-05 20:28:54"
    
    #转换成时间数组
    timeArray = time.strptime(dt, "%Y-%m-%d %H:%M:%S")
    #转换成新的时间格式(20160505-20:28:54)
    dt_new = time.strftime("%Y%m%d-%H:%M:%S",timeArray)
    
    print dt_new
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    3、将时间戳转换成时间

    在时间戳转换成时间中,首先需要将时间戳转换成localtime,再转换成时间的具体格式:

    • 利用localtime()函数将时间戳转化成localtime的格式
    • 利用strftime()函数重新格式化时间
    #coding:UTF-8
    import time
    
    timestamp = 1462451334
    
    #转换成localtime
    time_local = time.localtime(timestamp)
    #转换成新的时间格式(2016-05-05 20:28:54)
    dt = time.strftime("%Y-%m-%d %H:%M:%S",time_local)
    
    print dt
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    4、按指定的格式获取当前时间

    利用time()获取当前时间,再利用localtime()函数转换为localtime,最后利用strftime()函数重新格式化时间。

    #coding:UTF-8
    import time
    
    #获取当前时间
    time_now = int(time.time())
    #转换成localtime
    time_local = time.localtime(time_now)
    #转换成新的时间格式(2016-05-09 18:59:20)
    dt = time.strftime("%Y-%m-%d %H:%M:%S",time_local)
    
    print dt
  • 相关阅读:
    由一个表更新另一个表中field
    DevExpress控件XtraGrid显示问题,分组不好用
    20090522: IBM X22
    DevExpress的GridControl选择一行,不显示单元格焦点的设置
    DataTable添加行的方法
    DevExpress自定义XtraGrid列菜单
    一道面试题
    DevExpress 设置LookUpEdit的值
    解决端口占用问题
    NoSQL
  • 原文地址:https://www.cnblogs.com/flippedkiki/p/6574187.html
Copyright © 2020-2023  润新知