对于时间数据,如 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

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

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

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
                    对于时间数据,如2016-05-05 20:28:54,有时需要与时间戳进行相互的运算,此时就需要对两种形式进行转换,在Python中,转换时需要用到time模块,具体的操作有如下的几种:将时间转换为时间戳重新格式化时间时间戳转换为时间获取当前时间及将其转换成时间戳1、将时间转换成时间戳将如上的时间2016-05-05 20:28:54转换成时间戳,具体的操作过程为:利用strptime
import time
time_str = "2022-03-18 10:54:00"
struct_time = time.strptime(time_str, '%Y-%m-%d %H:%M:%S')
print(struct_time)
time.struct_time(tm_year=20
				
最近python代码遇到了一个神奇的需求, 就是如果将python utc datetime转换时间戳. 百度找到都是使用time.mktime(xxx) 但是看到官网文档里写 time.mktime(t) This is the inverse function of localtime() 而且亲测 这样将UTC datetime格式的转换完并不是utc时间戳. 这里会当作带时间戳的datetime来处理. 正确的做法是: import calendar calendar.timegm(tuple) 只不过这里需要将 datetime对象调用timetuple()方法才OK哦!
本文实例讲述了python正常时间和unix时间戳相互转换的方法。分享给大家供大家参考。具体分析如下: 这段代码可以用来转换常规时间格式为unix时间戳,也可以将unix时间戳转换回来, 例如:1332888820 格式转换2012-03-28 06:53:40的形式 # -*- coding: utf-8 -*- import time def timestamp_datetime(value): format = '%Y-%m-%d %H:%M:%S' # value为传入的值为时间戳(整形),如:1332888820 value = time.localtime(value
时间时间戳之间的相互转换Python 可以通过内置的 `datetime` 模块来实现。下面是相互转换的示例代码: 1. 将时间转换时间戳: ```python import datetime # 获取当前时间 now = datetime.datetime.now() # 将时间转换时间戳(秒级别) timestamp = datetime.datetime.timestamp(now) print(timestamp) 2. 将时间戳转换时间: ```python import datetime # 时间戳(秒级别) timestamp = 1618944000 # 将时间戳转换时间 time = datetime.datetime.fromtimestamp(timestamp) print(time) 需要注意的是,`timestamp()` 函数返回的是浮点数类型的时间戳,表示从 1970 年 1 月 1 日起到指定时间的秒数。而 `fromtimestamp()` 函数可以将时间戳转换为 `datetime` 类型的时间。 另外,如果你需要处理更精确的时间,可以使用 `datetime` 模块的 `datetime` 类来表示。以上示例是基于 `datetime` 类进行的转换