2015-02-26 4 views
0

Я пытаюсь решить проблему:Python Строка форматирования DateTime

В коде библиотеки у меня есть что-то вроде:

return format % (value.year, value.month, value.day, value.hour, 
       value.minute,value.second, value.microsecond) 

где формат представляет собой строку с форматированием:

format = "%04d-%02d-%02d %02d:%02d:%02d.%06d" 

Для этого формата возможный выход может быть:

2015-02-26 11:28:45.466000 

Я могу настроить формат (формат строки, может быть, какая-то функция?), Код библиотеки неприкосновенен. Есть ли способ, чтобы получить что-то вроде:

2015-02-26 11:28:45 
+0

'String.split ('') [0] ' –

+0

Какая библиотека? Почему это неприкасаемо? Есть ли у вас больше контекста? –

+0

Я уверен, что это просто datetime – PVNRT

ответ

0

У вас есть несколько среди которых:

  • Сплита строки и использовать его, который отлично подходит для одного выстрела
  • разбора даты назад , которые могли бы быть лучше, если вы делаете другие операции на нем

Вот эти варианты с примерами:


Для этого используйте функцию split() и используйте символ . в качестве разделителя.
Обратите внимание, что это предполагает, что вы когда-либо получите только одну точку в своей строке.

result = "2015-02-26 11:28:45.466000" 
final_str = result.split('.')[0] 
print(final_str) 
>>> 2015-02-26 11:28:45 

Синтаксический дату назад с datetime:

import datetime 

date_fmt = "%Y-%m-%d %H:%M:%S" 
result_str = "2015-02-26 11:28:45.466000" 

date = datetime.datetime.strptime(result_str, date_fmt+".%f") 
date_str = date.strftime(date_fmt) 

print(date_str) 
>>> 2015-02-26 11:28:45 
0

Вы можете использовать функцию split()

def reduce(mydate): 
    newformat = mydate.split('.')[0] 
    return newformat 

print(reduce("2015-02-26 11:28:45.466000")) #2015-02-26 11:28:45 

Documentation

+0

«Лучше» иметь '#' для комментариев в python! :) – d6bels

+0

@ d6bels oops my bad! отредактировал мой ответ :) –

Смежные вопросы