如何从日期时间获取日期?

时间:2021-04-06 07:17:44

标签: python date xls python-datetime

我在 .XLS 文件中有以下格式的日期时间信息,例如 15-MAR-21 01.32.50.395000 PM

enter image description here

我需要将此时间戳转换为日期对象(并在新列中更新它)。如何从此日期时间对象中获取日期?

更新:这是我的解决方案

from datetime import datetime

datetime_str = '15-MAR-21 01.32.50.395000 PM'

datetime_object = datetime.strptime(datetime_str, '%d-%b-%y %H.%M.%S.%f %p')

print(type(datetime_object))
print(datetime_object)  # printed in default format

print(datetime_object.date())

有更好的解决方案吗?

2 个答案:

答案 0 :(得分:1)

您可以简单地导入日期时间库,然后为此使用 datetime.datetime.date() 方法

答案 1 :(得分:1)

假设您的文件名为 date_file.xlsx 并且包含日期的列名为 DATE

import pandas as pd
import datetime

df = pd.read_excel(
    'date_file.xlsx',
    converters={
        'DATE': lambda x: datetime.datetime.strptime(x, '%d-%b-%y %I.%M.%S.%f %p').date()
    },
    engine='openpyxl',
)

DATEdf 列将包含所有转换后的日期。如果您更喜欢 datetime.datetime 对象,请从解析函数中删除 .date()

在您的示例中,15-MAR-21 01.32.50.395000 PM 将转换为 2021-03-15,如果删除 .date(),将转换为 2021-03-15 13:32:50.395