【问题标题】:dictionary searching with datetime key for specific day, not all datetime key使用日期时间键搜索特定日期的字典,而不是所有日期时间键
【发布时间】:2014-05-27 00:02:47
【问题描述】:

我有以下格式的日期:

{datetime.datetime(2014, 5, 27, 0, 28, 0, 878356): {data},datetime.datetime(2014, 5, 27, 0, 28, 0, 878365): {data}, datetime.datetime(2014, 5, 28, 0, 28, 0, xxxxxx): {数据}}

基本上,可以在给定日期的多个点测量数据。 我想返回给定日期的所有测量值 - 例如,这里是 5 月 27 日。我不关心一天中的特定时间,只关心日期。 我该怎么做呢?在这种情况下,我想返回前两条记录,而不是第三条。

【问题讨论】:

    标签: datetime python-3.x dictionary


    【解决方案1】:

    你可以这样做:

    import datetime
    myobj = {datetime.datetime(2014, 5, 27, 0, 28, 0, 878356): 123.12313,datetime.datetime(2014, 5, 27, 0, 28, 0, 878365): 14.23432, datetime.datetime(2014, 5, 28, 0, 28, 0, 131234): 8.1233}
    for date in myobj:
        if date.strftime('%y%m%d') == '140527':
            print(myobj[date])
    

    运行如下:

    >>> import datetime
    >>> myobj = {datetime.datetime(2014, 5, 27, 0, 28, 0, 878356): 123.12313,datetime.datetime(2014, 5, 27, 0, 28, 0, 878365): 14.23432, datetime.datetime(2014, 5, 28, 0, 28, 0, 131234): 8.1233}
    >>> for date in myobj:
    ...     if date.strftime('%y%m%d') == '140527':
    ...         print(myobj[date])
    ... 
    123.12313
    14.23432
    >>> 
    

    这使用date.strftime() 以字符串形式获取年、月和日期。在这种情况下,我们希望它返回 '140527'。如果是,打印数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-07
      • 2016-06-27
      • 1970-01-01
      • 2019-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多