python timestamp和datetime之间转换详解

yipeiwu_com6年前Python基础

做开发中难免时间类型之间的转换, 最近就发现前端js和后端django经常要用到这个转换, 其中jsDate.now()精确到毫秒,而Python中Datetime.datetime.now()是精确到微秒的。

1. 字符串日期时间转换成时间戳

# '2015-08-28 16:43:37.283' --> 1440751417.283 
# 或者 '2015-08-28 16:43:37' --> 1440751417.0 
def string2timestamp(strValue): 
 
  try:     
    d = datetime.datetime.strptime(strValue, "%Y-%m-%d %H:%M:%S.%f") 
    t = d.timetuple() 
    timeStamp = int(time.mktime(t)) 
    timeStamp = float(str(timeStamp) + str("%06d" % d.microsecond))/1000000 
    print timeStamp 
    return timeStamp 
  except ValueError as e: 
    print e 
    d = datetime.datetime.strptime(str2, "%Y-%m-%d %H:%M:%S") 
    t = d.timetuple() 
    timeStamp = int(time.mktime(t)) 
    timeStamp = float(str(timeStamp) + str("%06d" % d.microsecond))/1000000 
    print timeStamp 
    return timeStamp 

2. 时间戳转换成字符串日期时间

# 1440751417.283 --> '2015-08-28 16:43:37.283' 
def timestamp2string(timeStamp): 
  try: 
    d = datetime.datetime.fromtimestamp(timeStamp) 
    str1 = d.strftime("%Y-%m-%d %H:%M:%S.%f") 
    # 2015-08-28 16:43:37.283000' 
    return str1 
  except Exception as e: 
    print e 
    return '' 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python连接sql server乱码的解决方法

vi /etc/freetds/freetds.conf 复制代码 代码如下:[global]# TDS protocol versiontds version = 8.0client...

python中的print()输出

1.普通的输出: print(str)#str是任意一个字符串,数字··· 2.格式化输出: print('1,2,%s,%d'%('asd',4)) 1,2,asd,4 与C语...

在Python中使用itertools模块中的组合函数的教程

理解新概念 Python V2.2 中引入了迭代器的思想。唔,这并不十分正确;这种思想的“苗头”早已出现在较老的函数 xrange() 以及文件方法 .xreadlines() 中了。通...

django 通过ajax完成邮箱用户注册、激活账号的方法

一、图片验证码 django-simple-captcha配置 1.在pycharm中,File====》Settings====》Project:项目名====》Project Int...

Python设计模式之迭代器模式原理与用法实例分析

Python设计模式之迭代器模式原理与用法实例分析

本文实例讲述了Python设计模式之迭代器模式原理与用法。分享给大家供大家参考,具体如下: 迭代器模式(Iterator Pattern):提供方法顺序访问一个聚合对象中各元素,而又不暴...