Я хотел бы получить текущее время в Python и назначить их таким переменным, как year
, month
, day
, hour
, minute
. Как это можно сделать в Python 2.7?
Как получить текущее время в python и разбить на год, месяц, день, час, минуту?
Ответ 1
Модуль datetime
- ваш друг:
import datetime
now = datetime.datetime.now()
print now.year, now.month, now.day, now.hour, now.minute, now.second
# 2015 5 6 8 53 40
Вам не нужны отдельные переменные, у атрибутов возвращаемого объекта datetime
есть все, что вам нужно.
Ответ 2
datetime
и time
datetime
ответа на tzaman гораздо чище, но вы можете сделать это с оригинальным питон time
модуля:
import time
strings = time.strftime("%Y,%m,%d,%H,%M,%S")
t = strings.split(',')
numbers = [ int(x) for x in t ]
print numbers
Выход:
[2016, 3, 11, 8, 29, 47]
Ответ 3
Здесь однострочник, который находится под линией до 80 символов.
import time
year, month, day, hour, min = map(int, time.strftime("%Y %m %d %H %M").split())
Ответ 4
распаковывая timetuple
объекта datetime, вы должны получить то, что хотите:
from datetime import datetime
n = datetime.now()
t = n.timetuple()
y, m, d, h, min, sec, wd, yd, i = t
Ответ 5
Для питона 3
import datetime
now = datetime.datetime.now()
print(now.year, now.month, now.day, now.hour, now.minute, now.second)
Ответ 6
Давайте посмотрим, как получить и напечатать день, месяц, год в Python из текущего времени:
import datetime
now = datetime.datetime.now()
year = '{:02d}'.format(now.year)
month = '{:02d}'.format(now.month)
day = '{:02d}'.format(now.day)
hour = '{:02d}'.format(now.hour)
minute = '{:02d}'.format(now.minute)
day_month_year = '{}-{}-{}'.format(year, month, day)
print('day_month_year: ' + day_month_year)
результат:
day_month_year: 2019-03-26
Ответ 7
import time
year = time.strftime("%Y") # or "%y"
Ответ 8
Три библиотеки для доступа и управления датами и временем, а именно: datetime, стрелка и маятник, все эти элементы доступны в namedtuples, чьи элементы доступны либо по имени, либо по индексу. Кроме того, предметы доступны точно так же. (Я полагаю, если бы я был более умным, я бы не удивился.)
>>> YEARS, MONTHS, DAYS, HOURS, MINUTES = range(5)
>>> import datetime
>>> import arrow
>>> import pendulum
>>> [datetime.datetime.now().timetuple()[i] for i in [YEARS, MONTHS, DAYS, HOURS, MINUTES]]
[2017, 6, 16, 19, 15]
>>> [arrow.now().timetuple()[i] for i in [YEARS, MONTHS, DAYS, HOURS, MINUTES]]
[2017, 6, 16, 19, 15]
>>> [pendulum.now().timetuple()[i] for i in [YEARS, MONTHS, DAYS, HOURS, MINUTES]]
[2017, 6, 16, 19, 16]
Ответ 9
Вы можете использовать gmtime
from time import gmtime
detailed_time = gmtime()
#returns a struct_time object for current time
year = detailed_time.tm_year
month = detailed_time.tm_mon
day = detailed_time.tm_mday
hour = detailed_time.tm_hour
minute = detailed_time.tm_min
Примечание: timestamp может быть передана в gmtime, по умолчанию используется текущее время, возвращаемое функцией time()
eg.
gmtime(1521174681)
Смотрите struct_time
Ответ 10
Это старый вопрос, но я придумал решение, которое, как я думал, может понравиться другим.
def get_current_datetime_as_dict():
n = datetime.now()
t = n.timetuple()
field_names = ["year",
"month",
"day",
"hour",
"min",
"sec",
"weekday",
"md",
"yd"]
return dict(zip(field_names, t))
timetuple() может быть заархивирован другим массивом, который создает помеченные кортежи. Бросить это на словарь и полученный продукт можно на get_current_datetime_as_dict()['year']
.
У этого есть немного больше накладных расходов, чем некоторые из других решений здесь, но я нашел настолько привлекательным, чтобы иметь возможность получить доступ к именованным значениям для clartiy sake в коде.
Ответ 11
вы можете использовать модуль datetime для получения текущей даты и времени в Python 2.7
import datetime
print datetime.datetime.now()
Выход:
2015-05-06 14:44:14.369392