python - 重新格式化日期时间对象以使用斜杠而不是破折号

标签 python datetime

我正在尝试将日期字符串:'6-3-1975' 规范化为以下格式的日期时间对象:'06/03/1975'

我有这个方法:

def normalizeDate(date):
    formatted_date = date.replace('-', '/')
    date_obj = datetime.strptime(formatted_date, '%m/%d/%Y').date()
    # date = datetime.strftime(date_obj, '%m/%d/%Y')
    # print(date)
    return date_obj

打印出 .date() 时,格式使用破折号,我也尝试使用 strftime 但这会将 date_object 转换回字符串。有没有办法重新格式化日期以使用斜线并仍然是日期时间对象?

最佳答案

您可以自己处理日期字符串,为其提供所需的格式,然后将其转换为datetime 对象:

def normalizeDate(date):
    newDate = '/'.join(str.zfill(elem,2) for elem in date.split('-'))
    date_obj = datetime.strptime(newDate, '%m/%d/%Y').date()
    return date_obj

为了将您的日期打印成该特定格式,您必须对创建的新 datetime 对象使用 strftime:

inDate = '6-3-1975'

d = normalizeDate(inDate)
print(d.strftime('%m/%d/%Y'))
print(type(d))

这是设置datetime 对象格式的唯一方法。

关于python - 重新格式化日期时间对象以使用斜杠而不是破折号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57013274/

相关文章:

Python - 从url获取图像名称和扩展名不以文件文件扩展名结尾

datetime - 组合 datetime.date 和 datetime.time 对象的 Pythonic 方式

python - 如何将防伪状态传递给 Google 登录按钮或 javascript?

python - Pandas 累计计数

php - 插入 ISO8601 DATETIME 会引发错误

JavaScript : Convert TimeZone Offset to TimeZone String (Eg: "-5.00" to "CST")

javascript - Moment.js 返回错误的日期

java - 跨纳秒的 JFree TimeSeries 图表

python - 为什么 Django 不加载我的静态 CSS 文件?

java - 如何避免重复加载大文件?