【问题标题】:sort dates in python according to hour, day, month [duplicate]根据小时,日,月对python中的日期进行排序[重复]
【发布时间】:2020-06-13 09:17:41
【问题描述】:

我有一个带有这个公式的日期字符串数组:

array(['2018-01-01 02:00:00 +01:00', '2018-01-01 04:00:00 +01:00',
    '2018-01-01 05:00:00 +01:00', ..., '2018-12-31 21:00:00 +01:00',
    '2018-12-31 22:00:00 +01:00', '2018-12-31 23:00:00 +01:00'],
   dtype='<U26')

我想按月和小时对日期进行排序,例如:

2018-01-01 00:00:00 +01:00
2018-01-01 01:00:00 +01:00
2018-01-01 02:00:00 +01:00

等等。 我正在使用这个迷你代码:

time1=time.sort()

但是排序会给出月份和一个小时的所有值,然后再移动到下一小时。 有没有办法根据每个月的每一天按小时对这些日期进行排序?

【问题讨论】:

  • 不行..日期格式不同
  • 显然您需要为strptime 使用适当的格式说明符,而不仅仅是复制其他问题中使用的内容。
  • 是的,我为我的数据类型这样做了,但它没有用
  • edit 提出问题并展示您如何尝试使用strptime

标签: python arrays sorting date


【解决方案1】:
import datetime
dates = [datetime.datetime.strptime(ts, "%Y-%m-%d %H:%M:%S %z") for ts in timestamps]
dates.sort()
sorteddates = [datetime.datetime.strftime(ts, "%Y-%m-%d %H:%M:%S %z") for ts in dates]

请再次确认 DateTime 格式是否对应。 https://www.w3schools.com/python/python_datetime.asp

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-02
    • 1970-01-01
    相关资源
    最近更新 更多