以指定格式返回datetime

2024-06-24 12:14:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下代码:

import pandas as pd
import locale

locale.setlocale(locale.LC_ALL, 'nl_NL')

from datetime import timedelta
def get_maandnaam(maand):
    if maand == 1: return 'januari'
    if maand == 2: return 'februari'
    if maand == 3: return 'maart'
    if maand == 4: return 'april'
    if maand == 5: return 'mei'
    if maand == 6: return 'juni'
    if maand == 7: return 'juli'
    if maand == 8: return 'augustus'
    if maand == 9: return 'september'
    if maand == 10: return 'oktober'
    if maand == 11: return 'november'
    if maand == 12: return 'december'
    
datum = pd.to_datetime("05" + " " + get_maandnaam(int(1)) + " " + "2000", format = "%d %B %Y")
print(datum)

令我惊讶的是,在print()中,结果是2000-01-05 00:00:00。我期待着5 januari 2000。为什么会这样?这会被修复吗


Tags: 代码importpandasgetdatetimereturnifas
2条回答

您只需更改为:

datum = pd.to_datetime("05" + " " + get_maandnaam(1) + " " + "2000", format = "%d %B %Y").strftime('%d %B %Y')

pd.to_datetime(in, format=format) 返回从in解析的日期对象,假定格式为format

然后可以按您希望的任何格式打印,包括解析格式:

print(datum.strftime("%d %B %Y"))

相关问题 更多 >