日期/时间格式



我正在创建一个python脚本,该脚本将显示特定日期的繁忙、无应答和失败调用,但我被显示日期的格式所困扰。Twilio的start_time和end_time"变量"打印如下:"2016年7月25日星期一16:03:53+0000"。我想去掉日期名称和逗号,因为我将结果保存到csv文件中(script_name.py>some_file.csv),而日期名称后面的逗号有点破坏了csv结构。

在settings.py文件中,time_zone变量设置为正确的一个(美国/芝加哥),USE_TZ变量设置为true。但无论如何,输出仍然是UTC。

我对Python一无所知,我试图将call.start_time解析为datetime的东西都失败了。如果它是一个给定的值,比如start_time="2016-07-26",我会知道如何做,但当该值来自client.calls.list中的call时,我不知道如何做…

任何指导都将不胜感激!

谢谢!

from twilio.rest import TwilioRestClient
from datetime import datetime
from pytz import timezone
from dateutil import tz
# To find these visit https://www.twilio.com/user/account
account_sid = "**********************************"
auth_token = "**********************************"
client = TwilioRestClient(account_sid, auth_token)
for call in client.calls.list(
start_time="2016-07-25",
end_time="2016-07-25",  
status='failed',
):
    print(datetime.datetime.strptime(call.start_time, "%Y-%m-%d %H:%M:%S"))

我提供的代码采用简单的日期和时间格式。

from datetime import datetime
from time import sleep
print('The Time is shown below!')
while True:
    time = str(datetime.now())
    time = list(time)
    for i in range(10):
        time.pop(len(time)-1)
    time = ('').join(time)
    time = time.split()
    date = time[0]
    time = time[1]
    print('Time: '+time+', Date: '+date, end='r')
    sleep(1)

然而,如果你只想按照你所说的格式设置"2016年7月25日星期一16:03:53+0000",并删除当天的内容,请考虑以下内容:

day = "Mon, 25 Jul 2016 16:03:53 +0000"
# Convert to an array
day = list(day)
# Remove first 5 characters
for i in range(5):
    day.pop(0)
day = ('').join(day)
print(day)
# You can use if statements to determine which day it is to decide how many characters to remove.
>>> "25 Jul 2016 16:03:53 +0000"

您需要解析的格式由Twillo提供的时间戳决定。您可能需要以下格式字符串来正确解析时间戳:

print(datetime.datetime.strptime(call.start_time, "%a, %d %b %Y %H:%M:%S %z"))

格式化字符串的一个很好的指南是http://strftime.org/.

另一个用于从字符串延迟转换日期的好库是位于https://dateutil.readthedocs.io/.

相关内容

  • 没有找到相关文章

最新更新