datetimenowpython
1. python運行時間的幾種方法
1.獲取當前時間的兩種方法:
importdatetime,time
now=time.strftime("%Y-%m-%d%H:%M:%S")
printnow
now=datetime.datetime.now()
printnow
2.獲取上個月最後一天的日期(本月的第一天減去1天)
last=datetime.date(datetime.date.today().year,datetime.date.today().month,1)-datetime.timedelta(1)
printlast
3.獲取時間差(時間差單位為秒,常用於計算程序運行的時間)
starttime=datetime.datetime.now()
#longrunning
endtime=datetime.datetime.now()
print(endtime-starttime).seconds
4.計算當前時間向後10個小時的時間
d1=datetime.datetime.now()
d3=d1+datetime.timedelta(hours=10)
d3.ctime()
註:常用的類有:datetime和timedelta二種,相互間可以加減。
2. python怎麼調用時間
datetime在python中比較常用,主要用來處理時間日期,使用前先倒入datetime模塊。下面總結下本人想到的幾個常用功能。
1、當前時間:
>>> print datetime.datetime.now()2015-07-17 16:39:15.712000>>> print type(datetime.datetime.now())
<type 'datetime.datetime'>
返回的datetime時間格式。
2、當前日期
>>> print datetime.datetime.now().date()2015-07-17>>> print type(datetime.datetime.now().date())
<type 'datetime.date'>
3、當前時間tuple
>>> datetime.datetime.now().timetuple()time.struct_time(tm_year=2015, tm_mon=7, tm_mday=17, tm_hour=16, tm_min=51, tm_sec=26, tm_wday=4, tm_yday=198, tm_isdst=-1)
>>> datetime.datetime.now().timetuple().tm_mday17
4、時間移動(幾天、幾小時前後...)
使用datetime.timedelta這個方法來前後移動時間,可以用的參數有weeks,days,hours,minutes,seconds,microseconds。
>>> print datetime.datetime.now() + datetime.timedelta(days=1)2015-07-18 16:49:48.574000>>> print datetime.datetime.now() + datetime.timedelta(hours=1)2015-07-17 17:49:57.122000>>> print datetime.datetime.now() + datetime.timedelta(minutes=-30)2015-07-17 16:20:08.619000
上個月最後一天
>>> print datetime.date(day=1,month=datetime.date.today().month,year=datetime.date.today().year) - datetime.timedelta(days=1)2015-06-30
5、獲取兩個時間的時間差
>>> (datetime.datetime.now() - datetime.datetime.utcnow()).total_seconds()
28800.0
6、時間轉化
datetime轉str格式:
>>> datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")'2015-07-17 16:58:46'
str格式轉datetime格式:
>>> datetime.datetime.strptime("2015-07-17 16:58:46","%Y-%m-%d %H:%M:%S")
datetime.datetime(2015, 7, 17, 16, 58, 46)
>>> print datetime.datetime.strptime("2015-07-17 16:58:46","%Y-%m-%d %H:%M:%S")2015-07-17 16:58:46>>> print type(datetime.datetime.strptime("2015-07-17 16:58:46","%Y-%m-%d %H:%M:%S"))
<type 'datetime.datetime'>
datetime轉timestamp:
>>> import time>>> now=datetime.datetime.now()>>> time.mktime(now.timetuple())1437123812.0
timestamp轉datetime:
>>> datetime.datetime.fromtimestamp(1437123812.0)datetime.datetime(2015, 7, 17, 17, 3, 32)
>>> print datetime.datetime.fromtimestamp(1437123812.0)
2015-07-17 17:03:32
3. python中怎麼把datetime類型轉換成timestamp
Python3.6.4(v3.6.4:d48ecebad5,Dec182017,21:07:28)
[GCC4.2.1(AppleInc.build5666)(dot3)]ondarwin
Type"help","right","credits"or"license"formoreinformation.
>>>importtime
>>>fromdatetimeimportdatetime
>>>now=datetime.now()
>>>timestamp=int(time.mktime(now.timetuple()))
>>>timestamp
1520493295
>>>timestamp_microsecond=float('{}{:06}'.format(timestamp,now.microsecond))/1000000
>>>timestamp_microsecond
1520493295.337066
4. python中datetime中now和utcnow的區別
DateTime.Now 和DateTime.UtcNow的區別:
DateTime.Now 屬性 獲取一個 DateTime 對象,該對象設置為此計算機上的當前日期和時間,表示為本地時間。在中國就是北京時間。
DateTime.UtcNow 屬性 獲取一個 DateTime 對象,該對象設置為此計算機上的當前日期和時間,表示為協調世界時 (UTC)。通俗點就是格林威治時間的當前時間。
5. python中datetime怎麼設置時區
1、默認情況下,pandas中的時間序列是單純(naive)的時區,其索引的tz欄位為None。
6. python datetime處理時間
python時間處理方法datetime(),下面就舉幾個代碼案例進行說明,代碼如下:
#-*-coding:utf-8-*-
#運行環境:Python3.4
#datetime類
#datetime是date與time的結合體,包括date與time的所有信息。
#它的構造函數如下:
#datetime.datetime(year,month,day[,hour[,minute[,second[,microsecond[,tzinfo]]]]])
#各參數的含義與date、time的構造函數中的一樣,要注意參數值的范圍。
#1.datetime類定義的類屬性與方法:
#datetime.min、datetime.max:datetime所能表示的最小值與最大值;
#print:datetime.max:9999-12-3123:59:59.999999
#print:datetime.min:0001-01-0100:00:00
fromdatetimeimport*
importtime
print('datetime.max:'+str(datetime.max))
print('datetime.min:'+str(datetime.min))
#datetime.resolution:datetime最小單位;
#print:datetime.resolution:0:00:00.000001
print('datetime.resolution:'+str(datetime.resolution))
#datetime.today():返回一個表示當前本地時間的datetime對象;
#print:today():2012-09-1219:37:50.721000
print('today():'+str(datetime.today()))
#datetime.now([tz]):返回一個表示當前本地時間的datetime對象,如果提供了參數tz,則獲取tz參數所指時區的本地時間;
#print:now():2012-09-1219:37:50.738000
print('now():'+str(datetime.now()))
#datetime.utcnow():返回一個當前utc時間的datetime對象;
#print:2012-09-1211:37:50.739000
print('utcnow():'+str(datetime.utcnow()))
#datetime.fromtimestamp(timestamp[,tz]):根據時間戮創建一個datetime對象,參數tz指定時區信息;
#print:fromtimestamp(tmstmp):2012-09-1219:37:50.741000
print('fromtimestamp(tmstmp):'+str(datetime.fromtimestamp(time.time())))
#datetime.utcfromtimestamp(timestamp):根據時間戮創建一個datetime對象;
#print:utcfromtimestamp(tmstmp):2012-09-1211:37:50.742000
print('utcfromtimestamp(tmstmp):'+str(datetime.utcfromtimestamp(time.time())))
#datetime.combine(date,time):根據date和time,創建一個datetime對象;
#print:datetime.combine(date,time):2012-09-1219:46:05
d=date(2012,9,12)
fromdatetimeimport*
t=time(19,46,5)
print('datetime.combine(date,time):'+str(datetime.combine(d,t)))
#datetime.strptime(date_string,format):將格式字元串轉換為datetime對象;
#print:2007-03-0421:08:12
print(datetime.strptime("2007-03-0421:08:12","%Y-%m-%d%H:%M:%S"))
#2.datetime類提供的實例方法與屬性
dt=datetime.strptime("2012-09-1221:08:12","%Y-%m-%d%H:%M:%S")
#print:2012912218120None
print(dt.year)
print(dt.month)
print(dt.day)
print(dt.hour)
print(dt.minute)
print(dt.second)
print(dt.microsecond)
print(dt.tzinfo)
print(dt.date())
print(dt.time())
print(dt.replace(year=2013))
print(dt.timetuple())
print(dt.utctimetuple())
print(dt.toordinal())
print(dt.weekday())
print(dt.isocalendar())
#printdt.isoformat([sep])
#datetime.ctime():返回一個日期時間的C格式字元串,等效於time.ctime(time.mktime(dt.timetuple()));
#3.格式字元串
#datetime.strftime(format)
#%a星期的簡寫。如星期三為Web
#%A星期的全寫。如星期三為Wednesday
#%b月份的簡寫。如4月份為Apr
#%B月份的全寫。如4月份為April
#%c:日期時間的字元串表示。(如:04/07/1010:43:39)
#%d:日在這個月中的天數(是這個月的第幾天)
#%f:微秒(范圍[0,999999])
#%H:小時(24小時制,[0,23])
#%I:小時(12小時制,[0,11])
#%j:日在年中的天數[001,366](是當年的第幾天)
#%m:月份([01,12])
#%M:分鍾([00,59])
#%p:AM或者PM
#%S:秒(范圍為[00,61],為什麼不是[00,59],參考python手冊~_~)
#%U:周在當年的周數當年的第幾周),星期天作為周的第一天
#%w:今天在這周的天數,范圍為[0,6],6表示星期天
#%W:周在當年的周數(是當年的第幾周),星期一作為周的第一天
#%x:日期字元串(如:04/07/10)
#%X:時間字元串(如:10:43:39)
#%y:2個數字表示的年份
#%Y:4個數字表示的年份
#%z:與utc時間的間隔(如果是本地時間,返回空字元串)
#%Z:時區名稱(如果是本地時間,返回空字元串)
#%%:%%=>%
dt=datetime.now()
#print:(%Y-%m-%d%H:%M:%S%f):2012-09-1223:04:27145000
print('(%Y-%m-%d%H:%M:%S%f):'+str(dt.strftime('%Y-%m-%d%H:%M:%S%f')))
#print:(%Y-%m-%d%H:%M:%S%p):12-09-1211:04:27PM
print('(%Y-%m-%d%H:%M:%S%p):'+str(dt.strftime('%y-%m-%d%I:%M:%S%p')))
#print:%a:Wed
print('%%a:%s'%dt.strftime('%a'))
#print:%A:Wednesday
print('%%A:%s'%dt.strftime('%A'))
#print:%b:Sep
print('%%b:%s'%dt.strftime('%b'))
#print:%B:September
print('%%B:%s'%dt.strftime('%B'))
#print:日期時間%c:09/12/1223:04:27
print('日期時間%%c:%s'%dt.strftime('%c'))
#print:日期%x:09/12/12
print('日期%%x:%s'%dt.strftime('%x'))
#print:時間%X:23:04:27
print('時間%%X:%s'%dt.strftime('%X'))
#print:今天是這周的第3天
print('今天是這周的第%s天'%dt.strftime('%w'))
#print:今天是今年的第256天
print('今天是今年的第%s天'%dt.strftime('%j'))
#print:今周是今年的第37周
print('今周是今年的第%s周'%dt.strftime('%U'))
上面代碼案例運行結果如下:
atetime.max:9999-12-3123:59:59.999999
datetime.min:0001-01-0100:00:00
datetime.resolution:0:00:00.000001
today():2014-05-0415:58:18.141186
now():2014-05-0415:58:18.193146
utcnow():2014-05-0407:58:18.243958
fromtimestamp(tmstmp):2014-05-0415:58:18.291558
utcfromtimestamp(tmstmp):2014-05-0407:58:18.342550
datetime.combine(date,time):2012-09-1219:46:05
2007-03-0421:08:12
2012
9
12
21
8
12
0
None
2012-09-12
21:08:12
2013-09-1221:08:12
time.struct_time(tm_year=2012,tm_mon=9,tm_mday=12,tm_hour=21,tm_min=8,tm_sec=12,tm_wday=2,tm_yday=256,tm_isdst=-1)
time.struct_time(tm_year=2012,tm_mon=9,tm_mday=12,tm_hour=21,tm_min=8,tm_sec=12,tm_wday=2,tm_yday=256,tm_isdst=0)
734758
2
(2012,37,3)
(%Y-%m-%d%H:%M:%S%f):2014-05-0415:58:19326295
(%Y-%m-%d%H:%M:%S%p):14-05-0403:58:19PM
%a:Sun
%A:Sunday
%b:May
%B:May
日期時間%c:SunMay415:58:192014
日期%x:05/04/14
時間%X:15:58:19
今天是這周的第0天
今天是今年的第124天
今周是今年的第18周
7. Python3.4 datetime.today and datetime.now 有什麼區別
classmethod datetime.now(tz=None)
Return the current local date and time. If optional argument tz is None or not
specified, this is like today()
8. 如何從python中的datetime.now獲取最小,秒和毫秒
datetime.now()。strftime('%M:%S.%f')[: - 4]
我不知道你的意思是「毫秒只有2位數」,但這應該保持為2位小數。可以通過操縱strftime格式字元串來減少精度,可能會有一個更優雅的方式 - 我不完全確定。
如果%f 修飾符對您無效,可以嘗試以下操作: / p>
now = datetime.now()
string_i_want =('%02d:%02d。%d'% .minute,now.second,now.microsecond))[: - 4]
假設你只想截斷精度。
9. python中 datetime.now().strftime(*)中 now後面為什麼要加括弧
不加括弧,返回這個函數的地址,並不是執行
加了括弧才是執行這個函數返回它的返回值
10. python 格式化日期到毫秒
可以參考下面的代碼:
一、代碼一:
importdatetime
print(datetime.datetime.now().microsecond*1e-3)
二、代碼二:
importdatetime
now=datetime.datetime.now()
printnow.strftime("%Y%m%d%H%M%S")
(10)datetimenowpython擴展閱讀:
python函數
hasattr(obj,name)查看一個obj的namespace中是否有name
getattr(obj,name)得到一個obj的namespace中的一個name
setattr(obj,name,value)為一個obj的namespace中的一個name指向vale這個object
delattr(obj,name)從obj的namespace中刪除一個name