开发者社区> 问答> 正文

将日期时间添加到列表中,而不重新排序日期和时间值

嘿,伙计们,我有这个用户输入,当它被输入后,它将它添加到一个列表中,并将它从最新的条目中排序到它之前的条目中,然后打印它。我想做的是对每个用户条目添加时间和日期,这样我就知道输入是什么时候输入的。现在它所做的是重新安排日期和时间条目,因此格式在列表中不可读。有谁知道如何阻止这种情况的发生,但仍然被附加到每个条目的列表,所以它是正确的格式?非常感谢

from datetime import datetime 

def status():

    all_status_updates = []
    today = datetime.now()
    while True: 
        stat = input("Type Status Update Here...\n")
        if stat != "exit":
            #all_status_updates.append(stat)
            all_status_updates.extend((today, stat))
            print(all_status_updates[::-1])
        elif stat == "exit":
            break

status()

问题来源StackOverflow 地址:/questions/59383098/add-date-time-to-list-without-it-re-ordering-the-date-and-time-value

展开
收起
kun坤 2019-12-27 11:23:20 402 0
1 条回答
写回答
取消 提交回答
  • 目前,您的代码在while循环之外实例化datetime。这意味着每次您向输入字段中输入一个新字符串时,它将获取预先设置的日期时间,而不是创建一个新字符串。简单解决办法:

    from datetime import datetime 
    
    def status():
    
        all_status_updates = []
        while True: 
            stat = input("Type Status Update Here...\n")
            if stat != "exit":
                today = datetime.now().strftime("%d/%m/%Y %H:%M:%S")
                all_status_updates.extend((today, stat))
                print(all_status_updates[::-1])
            elif stat == "exit":
                break
    
    status()
    

    我还添加了.strftime("%d/%m/%Y %H:% m:%S")后缀,使datetime更易于阅读。你可以根据自己的需要修改这些修改器。 在上面的代码示例中,只有在用户输入一个非“exit”的文本字符串时才调用datetime。你也可以把它放到while循环的主体中,但是大多数时候它都不会被使用。

    2019-12-27 11:23:27
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载