python 数字转时间,python时间戳转化为时间

  python 数字转时间,python时间戳转化为时间

  回答(11)

  两年前

  ISO 8601本地:

  导入日期时间

  datetime.datetime.now()。等格式()

  协调世界时。亦称协道界时至ISO 8601:

  导入日期时间

  datetime.datetime.utcnow().等格式()

  本地到ISO 8601没有微秒:

  导入日期时间

  datetime.datetime.now()。替换(微秒=0)。等格式()

  带有时区信息的协调世界时。亦称协道界时到ISO 8601(Python 3):

  导入日期时间

  datetime.datetime.utcnow().替换(tz info=datetime。时区。utc).等格式()

  带有时区信息的本地ISO 8601(Python 3):

  导入日期时间,时间

  #考虑夏令时,计算时差

  utc _ offset _ sec=时间。如果是时间,则更改时区。当地时间().tm_isdst else time.timezone

  utc_offset=datetime.timedelta(秒=-utc_offset_sec)

  datetime.datetime.now()。替换(tz info=datetime。时区(offset=utc _ offset).等格式()

  对于Python 2,请参阅并使用皮兹。

  两年前

  我在文档找到了datetime.isoformat .它似乎做你想要的:

  datetime.isoformat([sep])

  返回一个以ISO 8601格式表示日期和时间的字符串,YYYY-MM-DDTHH:MM:SS.mmmmmm,如果微秒为0,则为YYYY-MM-DDTHH:MM:SS

  如果utcoffset()不返回没有,则追加一个6个字符的字符串,以(有符号)小时和分钟的形式给出协调世界时。亦称COORDINATED UNIVERSAL TIME偏移量:YYYY-MM-DDTHH:MM:SSmmmmmm HH:MM,如果微秒为0,则为YYYY-MM-DDTHH:MM:SS HH:MM

  可选参数九月(默认为t’)是一个单字符分隔符,位于结果的日期和时间部分之间。举个例子,

  从日期时间导入tzinfo,时间增量,日期时间

  坦桑尼亚等级(tzinfo):

  .def utcoffset(自身,dt):返回时间增量(分钟=-399)

  .

  日期时间(2002,12,25,tzinfo=TZ()).等格式()

  2002-12-25 00:00:00-06:39

  两年前

  ISO 8601时间表示法

  国际标准ISO 8601描述了日期和时间的字符串表示。这种格式的两个简单例子是

  2010-12-16 17:22:15

  20101216T172215

  (两者均代表2010年12月16日),但格式也允许亚秒级分辨率时间并指定时区。这种格式当然不是特定于计算机编程语言的,但它适合以便携式格式存储日期和时间。有关此格式的详细信息,请参见马库斯库恩进入。

  我建议使用此格式在文件中存储时间。

  在此表示中获取当前时间的一种方法是使用计算机编程语言标准库中时间模块的strftime:

  从时间导入得到指定格式的时间

  strftime(%Y-%m-%d %H:%M:%S )

  2010-03-03 21:16:45

  您可以使用日期时间类的strptime构造函数:

  从日期时间导入日期时间

  日期时间。strptime( 2010-06-04 21:08:12 , %Y-%m-%d %H:%M:%S )

  日期时间日期时间(2010,6,4,21,8,12)

  最强大的是Egenix mxDateTime模块:

  来自mx .日期时间。国际标准化组织导入ParseDateTimeUTC

  从日期时间导入日期时间

  x=ParseDateTimeUTC( 2010-06-04 21:08:12 )

  datetime.fromtimestamp(x)

  日期时间日期时间(2010,3,6,21,8,12)

  参考

  两年前

  这是我用来转换为文件日期时间格式的内容:

  从日期时间导入日期时间

  datetime.now().替换(微秒=0)。等格式()

  #你得到你的国际标准化组织字符串

  在查找文件日期时间格式(xs:dateTime)时,我遇到了这个问题。我需要从等格式中删除微秒。

  两年前

  ISO 8601时间格式不存储时区名称,仅保留相应的协调世界时。亦称协道界时偏移量。

  要将文件得到字符串表示的时间转换为ISO 8601时间字符串,同时在Python 3中保留协调世界时。亦称协道界时偏移量:

  导入操作系统

  从日期时间导入日期时间,时区

  ts=os.path.getctime(some_file)

  dt=datetime.fromtimestamp(ts,timezone.utc)

  dt.astimezone().等格式()

   2015-11-27t 00:29:06.839600-05:00

  该代码假定您的本地时区为东部时区(ET),并且您的系统为给定的可移植性操作系统接口时间戳(ts)提供了正确的协调世界时。亦称协道界时偏移量,即,Python可以访问系统上的历史时区数据库,或者时区具有相同的时区在给定日期的规则。

  导入操作系统

  从日期时间导入日期时间

  导入皮兹皮普安装pytz

  ts=os.path.getctime(some_file)

  dt=datetime.fromtimestamp(ts,pytz。时区(“美国/纽约”))

  dt.isoformat()

   2015-11-27t 00:29:06.839600-05:00

  在这种情况下,结果是一样的。

  如果您需要时区名称/缩写/地区ID,请单独存储。

  dt.astimezone()。strftime( % Y-% M-% d % H:% M:% S % Z(% Z))

  美国东部时间2015-11-27 00:29:06-0500

  注意:不,UTC时差中的:和EST时区的缩写不是ISO 8601时间格式的一部分。他们不是唯一的。

  同一库的不同库/版本可以对同一日期/时区使用不同的时区规则。如果是未来的日期,规则可能还不知道。换句话说,相同的UTC时间可能对应不同的本地时间,这取决于您使用的规则——以ISO 8601格式保存时间可以使UTC时间和本地时间与您平台上使用的当前时区规则保持一致。如果您有不同的规则,您可能需要在不同的平台上重新计算当地时间。

  两年前

  您需要使用os.stat来获取文件创建时间以及time.strftime和time.timezone的组合,以便进行格式化:

  导入时间

  导入操作系统

  t=os.stat(C:/Path/To/File.txt )。圣克提姆

  t=time.localtime(t)

  formatted=time . strftime( % Y-% M-% d % H:% M:% S ,t)

  tz=str.format({0: 06.2f} ),float(time.timezone)/3600

  最终=格式化的tz

  最后的

  2008-11-24 14:46:08-02.00

  两年前

  如果我错了请纠正我(我没有),但是UTC的偏移量会随着夏令时而改变。所以你应该使用

  tz=str.format({0: 06.2f} ),float(time.altzone)/3600

  我还认为标志应该与众不同:

  tz=str.format({0: 06.2f} ),-float(time.altzone)/3600

  我错了,但我不这么认为。

  两年前

  我同意Jarek的观点,我也注意到ISO偏移量分隔符是冒号,所以我觉得最后的答案应该是:

  iso date . datetime _ iso format(datetime . datetime . now())str . format( { 0:06.2 f } ,-float(time.timezone)/3600)。替换( . ), :)

  两年前

  ISO 8601允许除T之外没有分隔符的紧凑表示,所以我喜欢用这一行来获得快速时间戳字符串:

  datetime.datetime.utcnow()。strftime(%Y%m%dT%H%M%S.%fZ )

   2018 09 05t 1 2018 09 05 z

  如果你不需要微秒,请忽略。%f部分:

  datetime.datetime.utcnow()。strftime(%Y%m%dT%H%M%SZ )

  20180905T140903Z

  当地时间:

  datetime.datetime.now()。strftime(%Y%m%dT%H%M%S )

  20180905T140903

  两年前

  我开发了这个功能:

  def iso _ 8601 _格式(dt):

   YYYY-MM-DDThh:MM:ssTZD(1997-07-16t 19:20:30-03:00)

  如果dt为None:

  返回“”

  fmt _ datetime=dT . strftime( % Y-% M-% dT % H:% M:% S )

  tz=dt.utcoffset()

  如果tz为None:

  fmt_timezone= 00:00

  否则:

  fmt _ time zone=str . format( { 0:06.2 f } ),float(tz.total_seconds()/3600))

  返回fmt_datetime

  两年前

  导入日期时间,时间

  def convert_enddate_to_seconds(自身,ts):

  采用ISO 8601格式(字符串)并转换为纪元时间。

  dT=datetime . datetime . strptime(ts[:-7], %Y-%m-%dT%H:%M:%S.%f) \

  datetime . time delta(hours=int(ts[-5:-3]),

  分钟数=int(ts[-2:])* int(ts[-6:-5] 1 )

  seconds=time . mktime(dt . time tuple())dt.microsecond/1000000.0

  返回秒数

  导入日期时间,时间

  ts= 2012-09-30t 15:31:50.262-08:00

  dT=datetime . datetime . strptime(ts[:-7], % Y-% M-% dT % H:% M:% s . % f )datetime . time delta(hours=int(ts[-5:-3]),minutes=int(ts[-2:])* int(ts[-6:-5] 1 )

  seconds=time . mktime(dt . time tuple())dt.microsecond/1000000.0

  秒

  1348990310.26

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: