私はPythonで現在の時間を取得し、それらを次のような変数に割り当てたいです year
、month
、day
、hour
、minute
。Python 2.7でこれを行うにはどうすればよいですか?
私はPythonで現在の時間を取得し、それらを次のような変数に割り当てたいです year
、month
、day
、hour
、minute
。Python 2.7でこれを行うにはどうすればよいですか?
回答:
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
。返されたオブジェクトの属性には必要なものがすべて揃っています。
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
timetuple
datetimeオブジェクトを解凍すると、必要なものが得られます。
from datetime import datetime
n = datetime.now()
t = n.timetuple()
y, m, d, h, min, sec, wd, yd, i = t
Python 3の場合
import datetime
now = datetime.datetime.now()
print(now.year, now.month, now.day, now.hour, now.minute, now.second)
現在の時間から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
日付と時刻にアクセスして操作するための3つのライブラリ、つまり日時、矢印、振り子は、名前またはインデックスで要素にアクセスできる名前付きタプルでこれらのアイテムを利用できるようにします。さらに、アイテムはまったく同じ方法でアクセスできます。(私がもっと賢くなったとしても、私は驚かないでしょう。)
>>> 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]
あなたは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
注:タイムスタンプはgmtimeに渡すことができます。デフォルトは、time()によって返される現在の時刻です。
eg.
gmtime(1521174681)
struct_timeを参照してください
これは古い質問ですが、他の人が好むかもしれないと思った解決策を思いつきました。
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']
。
これは、ここにある他のいくつかのソリューションよりも少しオーバーヘッドが大きくなりますが、コードで明確にするために名前付きの値にアクセスできるのはとても良いことだと私は思いました。
datetimeモジュールを使用して、Python 2.7で現在の日付と時刻を取得できます
import datetime
print datetime.datetime.now()
出力:
2015-05-06 14:44:14.369392