我有一个表示Python中的unix时间戳(即“ 1284101485”)的字符串,我想将其转换为可读的日期。 当我使用time.strftime ,出现TypeError

>>>import time
>>>print time.strftime("%B %d %Y", "1284101485")Traceback (most recent call last):File "<stdin>", line 1, in <module>
TypeError: argument must be 9-item sequence, not str

#1楼

对于来自UNIX时间戳的可读时间戳,我以前在脚本中使用过此时间戳:

import os, datetimedatetime.datetime.fromtimestamp(float(os.path.getmtime("FILE"))).strftime("%B %d, %Y")

输出:

'2012年12月26日'


#2楼

快速又脏的一个衬里:

'-'.join(str(x) for x in list(tuple(datetime.datetime.now().timetuple())[:6]))

'2013-5-5-1-9-43'


#3楼

import datetime
temp = datetime.datetime.fromtimestamp(1386181800).strftime('%Y-%m-%d %H:%M:%S')
print temp

#4楼

我刚刚成功使用过:

>>> type(tstamp)
pandas.tslib.Timestamp
>>> newDt = tstamp.date()
>>> type(newDt)
datetime.date

#5楼

您可以使用easy_date使其变得容易:

import date_converter
my_date_string = date_converter.timestamp_to_string(1284101485, "%B %d, %Y")

#6楼

>>> from datetime import datetime
>>> datetime.fromtimestamp(1172969203.1)
datetime.datetime(2007, 3, 4, 0, 46, 43, 100000)

取自http://seehuhn.de/pages/pdate


#7楼

使用datetime模块:

from datetime import datetime
ts = int("1284101485")# if you encounter a "year is out of range" error the timestamp
# may be in milliseconds, try `ts /= 1000` in that case
print(datetime.utcfromtimestamp(ts).strftime('%Y-%m-%d %H:%M:%S'))

#8楼

>>> import time
>>> time.ctime(int("1284101485"))
'Fri Sep 10 16:51:25 2010'
>>> time.strftime("%D %H:%M", time.localtime(int("1284101485")))
'09/10/10 16:51'

#9楼

投票最多的答案建议使用fromtimestamp,因为它使用本地时区,因此容易出错。 为了避免出现问题,更好的方法是使用UTC:

datetime.datetime.utcfromtimestamp(posix_time).strftime('%Y-%m-%dT%H:%M:%SZ')

其中posix_time是要转换的Posix纪元时间


#10楼

有两个部分:

  1. 将Unix时间戳(“自纪元以来的秒数”)转换为本地时间
  2. 以所需格式显示当地时间。

即使本地时区过去有不同的utc偏移并且python无法访问tz数据库,一种获取有效本地时间的方法是使用pytz时区:

#!/usr/bin/env python
from datetime import datetime
import tzlocal  # $ pip install tzlocalunix_timestamp = float("1284101485")
local_timezone = tzlocal.get_localzone() # get pytz timezone
local_time = datetime.fromtimestamp(unix_timestamp, local_timezone)

要显示它,您可以使用系统支持的任何时间格式,例如:

print(local_time.strftime("%Y-%m-%d %H:%M:%S.%f%z (%Z)"))
print(local_time.strftime("%B %d %Y"))  # print date in your format

如果您不需要当地时间,请改为获取可读的UTC时间:

utc_time = datetime.utcfromtimestamp(unix_timestamp)
print(utc_time.strftime("%Y-%m-%d %H:%M:%S.%f+00:00 (UTC)"))

如果您不关心可能会影响返回日期的时区问题,或者python是否有权访问系统上的tz数据库:

local_time = datetime.fromtimestamp(unix_timestamp)
print(local_time.strftime("%Y-%m-%d %H:%M:%S.%f"))

在Python 3上,您可以仅使用stdlib获得时区感知日期时间(如果python无法访问系统上的tz数据库,例如Windows上的UTC偏移量可能是错误的):

#!/usr/bin/env python3
from datetime import datetime, timezoneutc_time = datetime.fromtimestamp(unix_timestamp, timezone.utc)
local_time = utc_time.astimezone()
print(local_time.strftime("%Y-%m-%d %H:%M:%S.%f%z (%Z)"))

time模块中的函数是对应C API的薄包装,因此它们可能不如对应的datetime方法可移植性强,否则您也可以使用它们:

#!/usr/bin/env python
import timeunix_timestamp  = int("1284101485")
utc_time = time.gmtime(unix_timestamp)
local_time = time.localtime(unix_timestamp)
print(time.strftime("%Y-%m-%d %H:%M:%S", local_time))
print(time.strftime("%Y-%m-%d %H:%M:%S+00:00 (UTC)", utc_time))

#11楼

除了使用time / datetime包之外, pandas还可以用于解决相同的问题。这是我们可以使用pandas时间戳转换为可读日期的方法

时间戳可以有两种格式:

  1. 13位数字(毫秒)-要将毫秒转换日期,请使用:

     import pandas result_ms=pandas.to_datetime('1493530261000',unit='ms') str(result_ms) Output: '2017-04-30 05:31:01' 
  2. 10位(秒)-要将转换为日期,请使用:

     import pandas result_s=pandas.to_datetime('1493530261',unit='s') str(result_s) Output: '2017-04-30 05:31:01' 

#12楼

timestamp ="124542124"
value = datetime.datetime.fromtimestamp(timestamp)
exct_time = value.strftime('%d %B %Y %H:%M:%S')

您还可以从时间戳获取带有时间的可读日期,也可以更改日期格式。


#13楼

可以使用gmtime和format函数完成此操作的另一种方法;

from time import gmtime
print('{}-{}-{} {}:{}:{}'.format(*gmtime(1538654264.703337)))

输出: 2018-10-4 11:57:44


#14楼

您可以像这样转换当前时间

t=datetime.fromtimestamp(time.time())
t.strftime('%Y-%m-%d')
'2012-03-07'

将字符串中的日期转换为其他格式。

import datetime,timedef createDateObject(str_date,strFormat="%Y-%m-%d"):    timeStamp = time.mktime(time.strptime(str_date,strFormat))return datetime.datetime.fromtimestamp(timeStamp)def FormatDate(objectDate,strFormat="%Y-%m-%d"):return objectDate.strftime(strFormat)Usage
=====
o=createDateObject('2013-03-03')
print FormatDate(o,'%d-%m-%Y')Output 03-03-2013

将Unix时间戳字符串转换为可读日期相关推荐

  1. python unix时间戳转换成时间_关于python:将unix时间戳字符串转换为可读日期

    我有一个用python表示unix时间戳(即"1284101485")的字符串,我想把它转换成一个可读的日期.当我使用time.strftime时,我得到一个TypeError: ...

  2. 使用Python将字符串转换为格式化的日期时间字符串

    我正在尝试将字符串"20091229050936"转换为"2009年12月29日(UTC)" >>>import time >>& ...

  3. java 19位时间戳_Java将19位Unix时间戳转换为可读日期

    我正在尝试将19位Unix时间戳(例如,1558439504711000000一个五分之五)转换为可读的日期/时间格式.我的时间戳以6个零结尾,这表明时间以纳秒为单位. 我遇到了一些例子,其中人们使用 ...

  4. java格式化unix时间戳_Java将Unix时间戳转换成指定格式日期

    参考文章: Java与Unix时间戳的相互转换          Java时间和时间戳的相互转换 我个人在实际工作中,在进行RFID标签开发时,遇到了需要将RFID标签传送的一组数据,解析成Java语 ...

  5. java纪元时间_关于java:如何将时间戳字符串转换为纪元时间?

    我有格式2017-18-08 11:45:30.345的时间戳. 我想将它转换为纪元时间,所以我在下面做: String timeDateStr ="2017-18-08 11:45:30. ...

  6. Sqlserver 英文月份格式时间字符串转换为数字型日期

    --需要装换的日期格式如下Updatetime Nov 1 2018 11:37AM--SQL语句 SET Language US_ENGLISH SELECT (CONVERT(DATETIME, ...

  7. Java将Unix时间戳转换成指定格式日期

    public String TimeStamp2Date(String timestampString, String formats){     Long timestamp = Long.pars ...

  8. 如何在Excel中的日期和Unix时间戳之间进行转换?

    Unix时间戳也被称为纪元时间或POSIX时间,这在很多操作系统或文件格式中被广泛使用. 本教程讨论Excel中日期和Unix时间戳之间的转换. 将日期转换为时间戳 将日期和时间转换为时间戳 将时间戳 ...

  9. Java与Unix时间戳的相互转换

    Java将Unix时间戳转换成指定格式日期 当从服务器获取数据的时候,有时候获取的数据中的时间在很多的情况下是时间戳类似于这样1473048265,当然,我们不可能将这些数据以时间戳的形式展示给用户, ...

最新文章

  1. android版本相机权限,Android 11系统权限收紧,第三方APP仅支持调用原生相机
  2. 从计算机体系结构方面思考深度学习
  3. aws emr 大数据分析_DataOps —使用AWS Lambda和Amazon EMR的全自动,低成本数据管道
  4. brew php imagemagick,关于node使用gm和imageMagic在mac的坑
  5. 2021快手服饰行业数据价值报告
  6. 逼自己玩命学了3个多月,整理出了这份549个分支的技术脑图,分享给你
  7. guns框架字典取值_10分钟搞定Guns快速开发平台
  8. 转载--ASP解决AJAX带来的码问题
  9. 怎样用ZBrush中的Curves和Insert笔刷创建四肢
  10. linux mplayer_移植mplayer播放器到MY-IMX6-EK200开发板的步骤浅析
  11. MyBatis3 注解SQL 的使用方法
  12. AD9如何创建原理图元件
  13. PLSQL导出表结构和表数据
  14. [HCNA] 静态路由配置实例
  15. 洞察药监局数据,挖掘万亿价值
  16. 机器视觉在智能制造中的应用
  17. oracle数据库中的同义词,Oracle创建数据库同义词
  18. 解决fiddler设置手机代理后无法上网问题
  19. 游戏手机评测之摩托罗拉E398
  20. TV服务器的安装维护和调试,广电机顶盒安装调试教程及系统设置密码

热门文章

  1. 正确配置Linux系统ulimit/nproc值的方法
  2. 2.2-特殊权限之sticky
  3. 2003系统安全配置
  4. 网络技术沙龙:主题:数据库优化、CDN、集群负载均衡(1.9日技术聚会召集)
  5. delete函数的动态解析
  6. VLC-3.0.0(Nightly版)在Linux和Windows下的编译步骤详解
  7. zabbix源码编译安装以及添加第一台host监控
  8. 评判云服务靠谱程度 -- Coding 安全那些事
  9. 与虚拟机连接出现ora-12514错误解决方法
  10. getHibernateTemplate()为NUll