Bagaimana cara mendapatkan waktu saat ini di python dan memecah menjadi tahun, bulan, hari, jam, menit?

Jawaban:

551

The datetimemodul adalah teman Anda:

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

Anda tidak perlu variabel terpisah, atribut pada datetimeobjek yang dikembalikan memiliki semua yang Anda butuhkan.

tzaman
sumber
4
hanya suplyment:import time \n now=time.localtime() \n print now.tm_year, now.tm_mon, now.tm_mday, now.tm_hour, now.tm_hour, now.tm_min, now.tm_sec, now.tm_wday, now.tm_yday, now.tm_isdst
Sean.H
31

Berikut ini adalah satu-liner yang masuk tepat di bawah 80 baris char maks.

import time
year, month, day, hour, min = map(int, time.strftime("%Y %m %d %H %M").split())
Rigby
sumber
29

The datetimejawaban dengan tzaman jauh lebih bersih, tetapi Anda dapat melakukannya dengan python asli timemodul:

import time
strings = time.strftime("%Y,%m,%d,%H,%M,%S")
t = strings.split(',')
numbers = [ int(x) for x in t ]
print numbers

Keluaran:

[2016, 3, 11, 8, 29, 47]
vossman77
sumber
14

Dengan membongkar timetupleobjek datetime, Anda harus mendapatkan apa yang Anda inginkan:

from datetime import datetime

n = datetime.now()
t = n.timetuple()
y, m, d, h, min, sec, wd, yd, i = t
skyline75489
sumber
6

Untuk python 3

import datetime
now = datetime.datetime.now()
print(now.year, now.month, now.day, now.hour, now.minute, now.second)
Tajdar Khan Afridi
sumber
6

Mari kita lihat cara mendapatkan dan mencetak hari, bulan, tahun dengan python dari waktu sekarang:

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)

hasil:

day_month_year: 2019-03-26
Tomer Ben David
sumber
3
import time
year = time.strftime("%Y") # or "%y"
xiaoweiz
sumber
2

Tiga perpustakaan untuk mengakses dan memanipulasi tanggal dan waktu, yaitu datetime, panah, dan pendulum, semua membuat item-item ini tersedia dalam namedtuple yang elemen-elemennya dapat diakses baik dengan nama atau indeks. Selain itu, barang-barang dapat diakses dengan cara yang persis sama. (Kurasa jika aku lebih pintar, aku tidak akan terkejut.)

>>> 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]
Bill Bell
sumber
2

Anda dapat menggunakan 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

Catatan: Stempel waktu dapat diteruskan ke gmtime, default adalah waktu saat ini sebagaimana dikembalikan oleh waktu ()

eg.
gmtime(1521174681)

Lihat struct_time

Sreeragh AR
sumber
1

Ini adalah pertanyaan yang lebih tua, tetapi saya menemukan solusi yang saya pikir orang lain mungkin suka.

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 () dapat di-zip dengan array lain, yang membuat tupel berlabel. Keluarkan itu ke kamus dan produk yang dihasilkan dapat dikonsumsi bersamaget_current_datetime_as_dict()['year'] .

Ini memiliki overhead yang sedikit lebih daripada beberapa solusi lain di sini, tetapi saya telah menemukan itu sangat bagus untuk dapat mengakses nilai-nilai yang disebutkan demi kepentingan dalam kode.

TopherGopher
sumber
-4

Anda bisa menggunakan modul datetime untuk mendapatkan Tanggal dan Waktu saat ini di Python 2.7

import datetime
print datetime.datetime.now()

Output:

2015-05-06 14:44:14.369392
Haresh Shyara
sumber
7
Ini tidak menjawab pertanyaan.
Colin 't Hart