Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何格式化日期和时间?_Python_Python 3.x_Datetime_Strftime - Fatal编程技术网

Python 如何格式化日期和时间?

Python 如何格式化日期和时间?,python,python-3.x,datetime,strftime,Python,Python 3.x,Datetime,Strftime,我正在尝试为一个后端用python编写的网站创建一个评论部分。到目前为止,一切都很好,只是我不知道如何按照我想要的方式格式化日期和时间 我在发帖时想要的是: 于2018年12月6日星期二-11:20发布 或 于2018年12月6日11:21发布 目前,调用该方法时我得到的是: import time from datetime import * time = ("Posted on " + str(datetime.now().day) + "/" + str(datetime

我正在尝试为一个后端用python编写的网站创建一个评论部分。到目前为止,一切都很好,只是我不知道如何按照我想要的方式格式化日期和时间

我在发帖时想要的是:

  • 于2018年12月6日星期二-11:20发布
  • 于2018年12月6日11:21发布
  • 目前,调用该方法时我得到的是:

    import time
    from datetime import *
    
    time = ("Posted on " + str(datetime.now().day) + "/"
            + str(datetime.now().month) + " at: " + str(datetime.now().hour)
            + ":" + str(datetime.now().minute))
    

    您可以使用
    datetime.datetime.strftime()
    生成所需的任何格式:

    import datetime
    
    time = datetime.datetime.now().strftime("Posted on %d/%m/%y at - %H:%M")
    
    print(time)  # Posted on 07/12/17 at - 00:29
    

    阅读有关创建日期时可以使用的特殊类的更多信息:

    请参见,不要忘记,世界各地(即您的受众)的数字日期格式存在着令人困惑的差异。你的例子可能是12月6日或6月12日。始终为月份使用文本名称。@barny:或ISO-8601格式(YYYY-MM-DD),这是明确的。我可能很迂腐,但即使是我也不会争辩2017-12-06不是12月6日@马蒂诺:据我所知,没有文化/地区会让它YYYY-DD-MM。当然,没有什么可以阻止你这样做(除了普通的礼仪),但是YYYY-DD-MM背后没有文化历史,所以这种模棱两可的情况并不象DD/MM/YYYY(欧洲)和MM/DD/YYYY(美国)那样。如果你看########################################?我住在美国,2017年6月12日是6月12日。@barny更严肃地说,如果你想把这个月看作一个词,你可以用
    %b
    表示
    Dec
    %b
    表示
    December
    。@barny:提醒你,如果你在做互联网演示,你可以让JavaScript来做,然后打电话给
    .toLocaleString()
    日期
    客户端,允许浏览器根据用户的区域设置使用适当的格式。啊,我可以说这是7月12日发布的。或者是吗?@barny-向OP抱怨,他想要一个基于他试图做的事的dd/mm/yy格式。在爱尔兰,这就是我们的格式!另外,我已经尝试过了,但是它产生了一个错误:类型对象“datetime.datetime”没有属性“datetime”@Shadowranger做出了非常相关的评论。不太清楚您的意思,我们正在讨论您如何显示日期,ISO8601无疑是一种相当明确的方式:2017-12-06比2017年6月12日好得多。但可以说,对于英语阅读读者来说,“2017年12月6日”是非常清晰的。但是,如果您要将日期导出到电子表格中,那么ISO是IMO的一种方式。在添加到最佳实践中时,如果您要将其存储在某个地方,则可能需要使用
    datetime.datetime.utcnow()
    而不是
    datetime.datetime.now()
    来获取UTC日期时间。这样,您就可以根据用户的时区调整实际日期。
    datetime.datetime.now().strftime('%d/%m/%y at - %H:%M')
    '06/12/17 at - 16:29'