Python DateUtil 将字符串转换为日期和时间

发布于 2024-12-11 00:09:59 字数 469 浏览 2 评论 0原文

我正在尝试将字符串类型的参数转换为日期时间。 都会使用 dateUtil 库

  from dateutil import parser
myDate_string="2001/9/1 12:00:03"
dt = parser.parse(myDate_string,dayfirst=True)
print dt

我每次运行这个库时

2001-09-01 12:00:03

无论我是否将 dayfirst 设置为 true 或将 Year First 设置为 false。理想情况下,我只想得到格式为 DD-MM-YYYY HH:MM:SS 的日期。我不想要任何花哨的东西。我愿意使用日期时间库,但这似乎对我来说根本不起作用。任何人都可以给出如何使用显式格式将字符串转换为日期时间的简单示例,我是一个菜鸟,所以我只需要最基本的示例。我正在使用Python 2.7

I'm trying to convert a parameter of type string to a date time. I'm using the dateUtil library

  from dateutil import parser
myDate_string="2001/9/1 12:00:03"
dt = parser.parse(myDate_string,dayfirst=True)
print dt

every time i run this i get

2001-09-01 12:00:03

regardless of whether i have dayfirst set as true or Year first set as false. Ideally I just want to have a date in the format DD-MM-YYYY HH:MM:SS. I don't want anything fancy. I am willing to use the datetime library but this doesn't seem to work at all for me. Can anyone give simple expamples of how to convert strings to date time with an explicit format, I'm a noob, so the most basic examples are all i require. I'm using Python 2.7

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

无尽的现实 2024-12-18 00:09:59

您遇到的问题是,传递给 parser.parse 的任何参数仅影响字符串的解析方式,而不影响后续对象的打印方式。

parser.parse 返回一个 datetime 对象 - 当您打印它时,它将仅使用 datetime 的默认 __str__ 方法。如果您用它替换最后一行,

print dt.strftime("%d-%m-%Y %H:%M:%S")

它将按您的预期工作。

The problem you're having is that any arguments you pass to parser.parse only affect how the string is parsed, not how the subsequent object is printed.

parser.parse returns a datetime object - when you print it it will just use datetime's default __str__ method. If you replace your last line with

print dt.strftime("%d-%m-%Y %H:%M:%S")

it will work as you expect.

凶凌 2024-12-18 00:09:59

标准库(内置)datetime lib 可以轻松完成此操作。

from datetime import datetime

my_date_string = "2001/9/1 12:00:03"
d = datetime.strptime(my_date_string, "%Y/%m/%d %H:%M:%S")
print d.strftime("%d-%m-%Y %H:%M:%S")

The standard lib (built-in) datetime lib can do this easily.

from datetime import datetime

my_date_string = "2001/9/1 12:00:03"
d = datetime.strptime(my_date_string, "%Y/%m/%d %H:%M:%S")
print d.strftime("%d-%m-%Y %H:%M:%S")
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文