2016-07-26 88 views
0

我正在創建一個python腳本,該腳本將顯示特定日期的忙碌,無應答和失敗的調用,但我卡在所顯示日期的格式上。 Twilio的start_time和end_time「變量」打印如下:「Mon,2016年7月25日16:03:53 +0000」。我想擺脫日期名稱和逗號,因爲我將結果保存到csv文件(script_name.py> some_file.csv)並在日期名稱類型後面加上csv結構。日期/時間格式

在settings.py文件中,將time_zone變量設置爲正確的(America/Chicago),並將USE_TZ變量設置爲true。但無論如何,輸出仍然是UTC。

我不知道Python的任何內容,以及我試圖解析call.start_time到日期時間的事情都失敗了。 。 。如果它是給定的值,比如start_time ='2016-07-26',我會知道該怎麼做,但我不知道如何在client.calls.list中調用該值時如何執行此操作。 。 。

任何指導將不勝感激!

謝謝!

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")) 

回答

1

我提供的代碼是簡單的日期和時間格式。

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" 
+0

這是一個非常奇怪的解決方法。 'strptime'可以很好地解析它,並且你的整個第二塊代碼可以用'day [5:]'完成。 – Hobbes

1

格式你需要解析是由Twillo提供的時間戳決定的。您可能需要如下格式的字符串正確地解析時間戳:

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

的格式化字符串一個偉大的指南是http://strftime.org/

另一個用於懶惰地從字符串轉換日期的好庫是python-dateutil庫,在https://dateutil.readthedocs.io/處找到。