将Unix时间戳字符串转换为可读日期
我有一个表示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楼
有两个部分:
- 将Unix时间戳(“自纪元以来的秒数”)转换为本地时间
- 以所需格式显示当地时间。
即使本地时区过去有不同的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将时间戳转换为可读日期的方法 :
时间戳可以有两种格式:
13位数字(毫秒)-要将毫秒转换为日期,请使用:
import pandas result_ms=pandas.to_datetime('1493530261000',unit='ms') str(result_ms) Output: '2017-04-30 05:31:01'
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时间戳字符串转换为可读日期相关推荐
- python unix时间戳转换成时间_关于python:将unix时间戳字符串转换为可读日期
我有一个用python表示unix时间戳(即"1284101485")的字符串,我想把它转换成一个可读的日期.当我使用time.strftime时,我得到一个TypeError: ...
- 使用Python将字符串转换为格式化的日期时间字符串
我正在尝试将字符串"20091229050936"转换为"2009年12月29日(UTC)" >>>import time >>& ...
- java 19位时间戳_Java将19位Unix时间戳转换为可读日期
我正在尝试将19位Unix时间戳(例如,1558439504711000000一个五分之五)转换为可读的日期/时间格式.我的时间戳以6个零结尾,这表明时间以纳秒为单位. 我遇到了一些例子,其中人们使用 ...
- java格式化unix时间戳_Java将Unix时间戳转换成指定格式日期
参考文章: Java与Unix时间戳的相互转换 Java时间和时间戳的相互转换 我个人在实际工作中,在进行RFID标签开发时,遇到了需要将RFID标签传送的一组数据,解析成Java语 ...
- java纪元时间_关于java:如何将时间戳字符串转换为纪元时间?
我有格式2017-18-08 11:45:30.345的时间戳. 我想将它转换为纪元时间,所以我在下面做: String timeDateStr ="2017-18-08 11:45:30. ...
- Sqlserver 英文月份格式时间字符串转换为数字型日期
--需要装换的日期格式如下Updatetime Nov 1 2018 11:37AM--SQL语句 SET Language US_ENGLISH SELECT (CONVERT(DATETIME, ...
- Java将Unix时间戳转换成指定格式日期
public String TimeStamp2Date(String timestampString, String formats){ Long timestamp = Long.pars ...
- 如何在Excel中的日期和Unix时间戳之间进行转换?
Unix时间戳也被称为纪元时间或POSIX时间,这在很多操作系统或文件格式中被广泛使用. 本教程讨论Excel中日期和Unix时间戳之间的转换. 将日期转换为时间戳 将日期和时间转换为时间戳 将时间戳 ...
- Java与Unix时间戳的相互转换
Java将Unix时间戳转换成指定格式日期 当从服务器获取数据的时候,有时候获取的数据中的时间在很多的情况下是时间戳类似于这样1473048265,当然,我们不可能将这些数据以时间戳的形式展示给用户, ...
最新文章
- android版本相机权限,Android 11系统权限收紧,第三方APP仅支持调用原生相机
- 从计算机体系结构方面思考深度学习
- aws emr 大数据分析_DataOps —使用AWS Lambda和Amazon EMR的全自动,低成本数据管道
- brew php imagemagick,关于node使用gm和imageMagic在mac的坑
- 2021快手服饰行业数据价值报告
- 逼自己玩命学了3个多月,整理出了这份549个分支的技术脑图,分享给你
- guns框架字典取值_10分钟搞定Guns快速开发平台
- 转载--ASP解决AJAX带来的码问题
- 怎样用ZBrush中的Curves和Insert笔刷创建四肢
- linux mplayer_移植mplayer播放器到MY-IMX6-EK200开发板的步骤浅析
- MyBatis3 注解SQL 的使用方法
- AD9如何创建原理图元件
- PLSQL导出表结构和表数据
- [HCNA] 静态路由配置实例
- 洞察药监局数据,挖掘万亿价值
- 机器视觉在智能制造中的应用
- oracle数据库中的同义词,Oracle创建数据库同义词
- 解决fiddler设置手机代理后无法上网问题
- 游戏手机评测之摩托罗拉E398
- TV服务器的安装维护和调试,广电机顶盒安装调试教程及系统设置密码
热门文章
- 正确配置Linux系统ulimit/nproc值的方法
- 2.2-特殊权限之sticky
- 2003系统安全配置
- 网络技术沙龙:主题:数据库优化、CDN、集群负载均衡(1.9日技术聚会召集)
- delete函数的动态解析
- VLC-3.0.0(Nightly版)在Linux和Windows下的编译步骤详解
- zabbix源码编译安装以及添加第一台host监控
- 评判云服务靠谱程度 -- Coding 安全那些事
- 与虚拟机连接出现ora-12514错误解决方法
- getHibernateTemplate()为NUll