字符串转日期时间

发布于 2024-09-27 05:09:09 字数 186 浏览 8 评论 0 原文

我将 datetime.datetime.now() 保存为字符串。 现在我有一个字符串值,即

2010-10-08 14:26:01.220000

如何将此字符串转换为

Oct 8th 2010

谢谢

I saved a datetime.datetime.now() as a string.
Now I have a string value, i.e.

2010-10-08 14:26:01.220000

How can I convert this string to

Oct 8th 2010

?

Thanks

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

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

发布评论

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

评论(3

断桥再见 2024-10-04 05:09:09

from datetime import datetime
datetime.strptime('2010-10-08 14:26:01.220000'[:-7], 
                '%Y-%m-%d %H:%M:%S').strftime('%b %d %Y')

from datetime import datetime
datetime.strptime('2010-10-08 14:26:01.220000'[:-7], 
                '%Y-%m-%d %H:%M:%S').strftime('%b %d %Y')
娇妻 2024-10-04 05:09:09

您不需要创建中间字符串。
您可以使用 datetime 转换为字符串>strftime()

>>> datetime.now().strftime('%b %d %Y')
'Oct 08 2010'

You don't need to create an intermediate string.
You can go directly from a datetime to a string with strftime():

>>> datetime.now().strftime('%b %d %Y')
'Oct 08 2010'
杀お生予夺 2024-10-04 05:09:09

由于您对语法序数的明显要求,因此没有一种简单的方法。

您似乎正在使用 Python 2.6 版本或更高版本。在这种情况下,

datetime.datetime.strptime("2010-10-08 14:26:01.220000", "%Y-%m-%d %H:%M:%S.%f").strftime("%b %d %Y")

接近,产生

Oct 08 2010

要坚持使用“8th”而不是“08”,需要如上所述计算 %b%Y 部分,并写入小数-to-ordinal 函数在它们之间插入。

There's no one-liner way, because of your apparent requirement of the grammatical ordinal.

It appears you're using a 2.6 release of Python, or perhaps later. In such a case,

datetime.datetime.strptime("2010-10-08 14:26:01.220000", "%Y-%m-%d %H:%M:%S.%f").strftime("%b %d %Y")

comes close, yielding

Oct 08 2010

To insist on '8th' rather than '08' involves calculating the %b and %Y parts as above, and writing a decimal-to-ordinal function to intercalate between them.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文