python常用time,datetime処理
pythonにはtimeの3つのフォーマットがあります.
float,
struct tuple(time.struct_timeまたはdatetime.datetime)、
str
一般的:
float --> struct tuple: time.localtime( float )
struct time tuple --> str: time.strftime(format, struct time tuple)
str --> struct time tuple: time.strptime(str, format)
struct time tuple --> float : time.mktime(struct time tuple)
struct time tuple --> datetime: datetime(*time_tuple[0:6])
float --> datetime: datetime.datetime.fromtimestamp( float )
datetime --> str: datetime.strftime(format, datetime)
str --> datetime: datetime.strptime(str, format)
datetime --> struct time tuple: datetime.timetuple()
Note:
timeはfloatに基づいて、小数点以下はミリ秒、整数部分は秒です.(Javaはミリ秒なのでpython_time*1000==Java_time)
datetimeはintでミリ秒部分を省略しています.datetime tupleがstructより少ないtime
1.現在時刻
2.日付文字列-->日付
3.タイムスタンプ
2.日付加算減算
転載先:https://www.cnblogs.com/snow-backup/p/5063665.html
float,
struct tuple(time.struct_timeまたはdatetime.datetime)、
str
一般的:
float --> struct tuple: time.localtime( float )
struct time tuple --> str: time.strftime(format, struct time tuple)
str --> struct time tuple: time.strptime(str, format)
struct time tuple --> float : time.mktime(struct time tuple)
struct time tuple --> datetime: datetime(*time_tuple[0:6])
float --> datetime: datetime.datetime.fromtimestamp( float )
datetime --> str: datetime.strftime(format, datetime)
str --> datetime: datetime.strptime(str, format)
datetime --> struct time tuple: datetime.timetuple()
Note:
timeはfloatに基づいて、小数点以下はミリ秒、整数部分は秒です.(Javaはミリ秒なのでpython_time*1000==Java_time)
datetimeはintでミリ秒部分を省略しています.datetime tupleがstructより少ないtime
1.現在時刻
>>> import time
>>> time.time()
1450681042.751
>>> time.localtime(time.time())
time.struct_time(tm_year=2015, tm_mon=12, tm_mday=21, tm_hour=15, tm_min=0, tm_sec=2, tm_wday=0, tm_yday=355, tm_isdst=0)
>>> time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
'2015-12-21 15:01:28'
>>> from datetime import datetime
>>> datetime.now()
datetime.datetime(2015, 12, 21, 14, 58, 38, 279000)
>>> datetime.today()
datetime.datetime(2015, 12, 21, 14, 59, 20, 204000)
>>> now = datetime.now()
>>> now.year, now.month, now.day, now.hour, now.minute, now.second, now.microsecond
>>> now.isocalendar() # 2015 52
(2015, 52, 1)
>>> now.isoweekday() # ,1:Monday; now.weekday() 0
1
2.日付文字列-->日付
>>> s='2015-12-21 15:01:28'
>>> timeTuple = datetime.strptime(s, '%Y-%m-%d %H:%M:%S')
datetime.datetime(2015, 12, 21, 15, 1, 28)
>>> datetime.datetime.strftime('%Y/%m/%d %H:%M:%S', timeTuple)
>>> s='2015-12-21 15:01:28'
>>> timeTuple = datetime.strptime(s, '%Y-%m-%d %H:%M:%S') time.struct_time(tm_year=2015, tm_mon=12, tm_mday=21, tm_hour=15, tm_min=1, tm_sec=28, tm_wday=0, tm_yday=355, tm_isdst=-1) >>> time.strftime('%Y/%m/%d %H:%M:%S',timeTuple)
python :
%y (00-99)
%Y (000-9999)
%m (01-12)
%d (0-31)
%H 24 (0-23)
%I 12 (01-12)
%M (00=59)
%S (00-59)
%a
%A
%b
%B
%c
%j (001-366)
%p A.M. P.M.
%U (00-53)
%w (0-6),
%W (00-53)
%x
%X
%Z
%% %
3.タイムスタンプ
>>> time.mktime(time.strptime(s,'%Y-%m-%d %H:%M:%S'))
1450681288.0
>>> int(time.time())
# timestamp to time tuple in UTC
timestamp = 1226527167.595983
time_tuple = time.gmtime(timestamp)
print repr(time_tuple)
# timestamp to time tuple in local time
timestamp = 1226527167.595983
time_tuple = time.localtime(timestamp)
print repr(time_tuple)
2.日付加算減算
import datetime
now = datetime.datetime.now() # datetime.datetime(2015, 12, 16, 15, 6, 37, 420000)
dayOfweek = datetime.datetime.isoweekday()
if dayOfweek == 1: # Monday
last_time = now + datetime.timedelta(days=-3)
else:
last_time = now + datetime.timedelta(days=-1)
転載先:https://www.cnblogs.com/snow-backup/p/5063665.html