python时间戳与日期互转

一、使用time标准模块(稍微复杂一点)

time模块中时间表现的格式主要有三种:
  a、timestamp时间戳,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量
  b、struct_time时间元组,共有九个元素组。
  c、format time 格式化时间,已格式化的结构使时间更具可读性。包括自定义格式和固定格式。
在这里插入图片描述

import time


# 转换时间为时间戳
def generate_timestamp(dt):
    #转换成时间数组
    timeArray = time.strptime(dt, "%Y-%m-%d")
    #转换成时间戳
    timestamp = time.mktime(timeArray)
    return timestamp


# 转换时间为%Y-%m-%d %H:%M:%S格式
def convertt_timestamp(tp):
    time_origin = time.localtime(tp)
    time_o = time.strftime('%Y-%m-%d %H:%M:%S', time_origin)
    return time_o


# 转换时间为GMT时间格式:%a, %d %b %Y %H:%M:%S GMT
def gmt_time_now(gmt_format='%a, %d %b %Y %H:%M:%S GMT'):
    return datetime.datetime.utcnow().strftime(gmt_format)


# 获取当前时间戳
def unix_time_now():
    return str(int(time.time()))

# 获取当前日期
def today():
    return time.strftime('%Y-%m-%d', time.localtime(time.time()))

二、使用datetime标准模块

datetime模块包括datetime、date、time和timedelta等4个对象。这里不详细演示了,网上有大量的讲解文章。这里直接上代码,演示日期、时间戳互转。
首先安装一个dateutils第三方模块包,dateutil可以将几乎任何形式的字符串日期数据解析为datetime对象。

pip install dateutils 
import dateutil.parser
import datetime

# 转换时间为时间戳
def generate_timestamp(tr):
    tm = dateutil.parser.parse(tr).timestamp()
    return tm

# 转换时间为%Y-%m-%d %H:%M:%S格式
def convertt_timestamp(tm,frm='%Y-%m-%d %H:%M:%S'):
    tr = datetime.datetime.fromtimestamp(tm).strftime(frm)
    return tr

if __name__ == '__main__':
    tr = '2018-3-25 10:23:55'
    print(generate_timestamp(tr))

    tm = 1521944635.0
    print(convertt_timestamp(tm))

从代码量和复杂度来看datetime模块要比time简洁,而且大部分的日期时间操作在datetime模块里面都有封装

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值