【问题标题】:Removing part of a datetime value?删除日期时间值的一部分?
【发布时间】:2019-12-15 01:13:46
【问题描述】:

我有一列比如

  time
1508089361
1508065388
1508011482

我想将其转换为设置特定区域时区的本地时间戳,因此我使用以下代码:

df['time'] = pd.to_datetime(df['time'], unit='s').dt.tz_localize('UTC').dt.tz_convert('Europe/Berlin')

它返回一列,其值如下:

          time
2017-10-04 16:17:34+02:00   
2017-10-04 14:17:34+02:00   
2017-10-04 08:17:34+02:00   

有什么方法可以删除 +02:00 以便获得正常的时间戳? 列类型是 datetime64[ns, Europe/Berlin]

我想在这些时间加入两个 df,但不能因为另一个 df 的这些时间已经采用正常的日期时间时间戳格式,例如:

       Time
2017-10-09 00:00:00
2017-10-09 00:00:00
2017-10-09 00:00:00
2017-10-09 00:00:00

谢谢!

【问题讨论】:

  • 在 UTC 停止?
  • 但我需要该地区或城市的当地时间@thebjorn
  • “正常的日期时间时间戳格式”将是 UTC(如果您先将所有内容都转换为 UTC,您可能会省去很多麻烦)。如果您绝对想要本地时间,那么这可能会有所帮助:stackoverflow.com/questions/4770297/…

标签: python python-3.x pandas data-science


【解决方案1】:

是的,你可以。请使用此功能

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

更多关于格式化https://strftime.org/的细节

【讨论】:

  • 但这不考虑将时间本地化到上面的区域?
  • 知道了,所以可以像上面那样转换,然后重新格式化为这个
  • 是的,你可以这样做
猜你喜欢
  • 2010-09-05
  • 1970-01-01
  • 2018-09-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-01
  • 1970-01-01
相关资源
最近更新 更多