Преобразование времени Outlook в строку - PullRequest
0 голосов
/ 19 ноября 2018

Я использую win32com для анализа файлов msg на моем жестком диске.Все работает кроме отправленной даты.У меня есть список электронных писем в поле со списком wxPython, и когда вы нажимаете на электронное письмо, я хочу заполнить дату в текстовом поле.Когда я пытаюсь преобразовать msg.SentOn из типа time в строковый тип, я получаю TypeError.Я считаю, что он ищет метку времени, и я не уверен, как туда попасть из Pytime.

def onListBox(self, event):

    attachList = []
    self.attachList.Clear()
    outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
    self.email = event.GetEventObject().GetStringSelection()
    if self.toFrom == 0:
        fileName = "C:\Users\onp1ldy\Desktop\EMAILS\emails_Sent\\" + self.email
    else:
        fileName = "C:\Users\onp1ldy\Desktop\EMAILS\emails\\" + self.email
    msg = outlook.OpenSharedItem(fileName)
    #print msg.SenderName
    #print msg.SenderEmailAddress
    print type(msg.SentOn)
    print msg.SentOn
    newDate = time.strftime('%m/%d/%Y %H:%M:%S', msg.SentOn)
    print newDate

Вывод:

<type 'time'>
Traceback (most recent call last):
  File  line 181, in onListBox
12/04/17 20:43:49
    newDate = time.strftime('%m/%d/%Y %H:%M:%S', msg.SentOn)
TypeError: argument must be 9-item sequence, not time

Может ли кто-нибудь помочь с этим преобразованием?

1 Ответ

0 голосов
/ 19 ноября 2018

После некоторых поисков я нашел Pytime . Это показало преобразование pytime в int, совместимое с модулем времени.

time.strftime("%#c", time.localtime(int(timeObject)))
...