python當前日期的前一天
① python django 做時間判斷
djaogo 時間判斷表達
時間
1、gt:大於某個時間
now = datetime.datetime.now()
前一天
start = now – datetime.timedelta(hours=23, minutes=59, seconds=59)
a=yourobject.objects .filter(youdatetimcolumn__gt=start)
2、gte:大於等於某個時間:
a=yourobject.objects .filter(youdatetimcolumn__gte=start)
3、lt:小於
a=yourobject.objects .filter(youdatetimcolumn__lt=start)
4、lte:小於等於
a=yourobject.objects .filter(youdatetimcolumn__lte=start)
5、range:查詢時間段
start_date = datetime.date(2005, 1, 1)
end_date = datetime.date(2005, 3, 31)
Entry.objects.filter(pub_date__range=(start_date, end_date))
6、year:查詢某年
Entry.objects.filter(pub_date__year=2005)
7、month:查詢某月
Entry.objects.filter(pub_date__month=12)
8、day:某天
Entry.objects.filter(pub_date__day=3)
9、week_day:星期幾
Entry.objects.filter(pub_date__week_day=2)
10、獲取今天的日期,日期格式為yyyy-MM-dd
from django.utils.timezone import now, timedelta
date = now().date() + timedelta(days=-1) #昨天
date = now().date() + timedelta(days=0) #今天
date = now().date() + timedelta(days=1) #明天
② python中怎樣獲得當前時間
這個得導入時間模塊time才行。
然後用time里的localtime方法。
③ python中時間如何表示
Python中有3種不同的時間表示法
1.時間戳 timestamp 是從1970年1月1日0時0分0秒開始的秒數
2.struct_time 包含9個元素的tuple
3.format time 已經格式化好便於閱讀的時間
使用時間需要使用time模塊
import time引入time模塊
time.time()方法獲取當前的時間,以timestamp的形式
>>> time.time()
1576372527.424447
time.localtime()方法:以struct_time的形式獲取當前的當地時間
>>> time.localtime()
time.struct_time(tm_year=2019, tm_mon=12, tm_mday=14,
tm_hour=20, tm_min=15, tm_sec=49, tm_wday=5, tm_yday=348, tm_isdst=0)
time.gmtime()方法:以struct_time的形式獲取當前的格林尼治時間
從struct_time中獲取具體的年月日:
ctime.tm_year ctime.tm_mon .....
ttm_tm_isdst = 1來告知mktime()現在處於夏令時,明確使用ttm.tm_isdst = 0來告知未處於夏令時
不同時間表示法的轉換
struct_time轉timestamp: time.mktime(<struct_time>)
timestamp轉struct_time: time.localtime(time.time())
④ python 如何求 任意日期的前一天! 比如 我輸入的日期是110301 如何計算前一天的日期
import datetime
date_A= input('請輸入日期(格式:yyyy-mm-dd):')
dayA= datetime.datetime.strptime(date_A, '%Y-%m-%d')
delta=datetime.timedelta(days=1)
dayB=dayA-delta
print("輸入日期的前一天為:"+dayB.strftime('%Y-%m-%d'))
⑤ python日期獲取秒數
1、使用new Date()獲取當前日期,new Date().getTime()獲取當前毫秒數
2、計算公式,等於獲取的當前日期減去或者加上一天的毫秒數。一天的毫秒數的計算公式:24小時*60分鍾*60秒*1000毫秒,也是86400000毫秒。
舉例:
Date curDate = new Date();
var preDate = new Date(curDate.getTime() - 24*60*60*1000); //前一天
var nextDate = new Date(curDate.getTime() + 24*60*60*1000); //後一天
以下圖片使用後台輸出表示。
(5)python當前日期的前一天擴展閱讀
var myDate = new Date();
myDate.getYear(); //獲取當前年份(2位)
myDate.getFullYear(); //獲取完整的年份(4位,1970-????)
myDate.getMonth(); //獲取當前月份(0-11,0代表1月)
myDate.getDate(); //獲取當前日(1-31)
myDate.getDay(); //獲取當前星期X(0-6,0代表星期天)
myDate.getTime(); //獲取當前時間(從1970.1.1開始的毫秒數)
myDate.getHours(); //獲取當前小時數(0-23)
myDate.getMinutes(); //獲取當前分鍾數(0-59)
myDate.getSeconds(); //獲取當前秒數(0-59)
myDate.getMilliseconds(); //獲取當前毫秒數(0-999)
myDate.toLocaleDateString(); //獲取當前日期
var mytime=myDate.toLocaleTimeString(); //獲取當前時間
myDate.toLocaleString( ); //獲取日期與時間
Date.prototype.isLeapYear 判斷閏年
Date.prototype.Format 日期格式化
Date.prototype.DateAdd 日期計算
Date.prototype.DateDiff 比較日期差
Date.prototype.toString 日期轉字元串
Date.prototype.toArray 日期分割為數組
Date.prototype.DatePart 取日期的部分信息
Date.prototype.MaxDayOfDate 取日期所在月的最大天數
Date.prototype.WeekNumOfYear 判斷日期所在年的第幾周
StringToDate 字元串轉日期型
IsValidDate 驗證日期有效性
CheckDateTime 完整日期時間檢查
daysBetween 日期天數差
⑥ Python中處理時間的幾種方法小結
python中的時間模塊主要有time, datetime。
I, time模塊
time模塊中包含了四種時間格式:
float格式,即給定時間相對於epoch增加的秒數
tuple格式,一個九元組 (tm_year, tm_mon, tm_mday, tm_hour, tm_min, tm_sec, tm_wday, tm_yday, tm_isdst)
string格式,'Mon Feb 6 15:00:06 2012'
format格式,以指定的格式生成的時間
針對這幾種時間格式,time模塊提供了函數在格式之間相互轉換。
asctime(tuple) ->string
ctime(float) ->string
gmtime(float) ->tuple
localtime(float) ->tuple
mktime(tuple) ->float
strftime(format, tuple) ->format string
strptime(formatstring, format) ->tuple
time() -> float
上述函數中,除了time()函數直接返回當前時間相對於epoch的秒數外,其他函數都要求有時間的輸入,如果沒有輸入,則默認使用當前時間。
另外,strftime和strptime中的format使用下面的格式:
%a 英文星期簡寫
%A 英文星期的完全
%b 英文月份的簡寫
%B 英文月份的完全
%c 顯示本地日期時間
%d 日期,取1-31
%H 小時, 0-23
%I 小時, 0-12
%m 月, 01 -12
%M 分鍾,1-59
%j 年中當天的天數
%w 顯示今天是星期幾
%W 第幾周
%x 當天日期
%X 本地的當天時間
%y 年份 00-99間
%Y 年份的完整拼寫
%S 秒(00-59)
除了上述的時間轉換函數之外,模塊還提供了下面的函數:
clock() 返回進程的創建時間,以秒計數的float
sleep(float) sleep一段時間,以秒計數
tzset() 更改時區
II, datetime
datetime模塊定義了下面這幾個類:
datetime.date:表示日期的類。常用的屬性有year, month, day;datetime.time:表示時間的類。常用的屬性有hour, minute, second, microsecond;datetime.datetime:表示日期時間。datetime.timedelta:表示時間間隔,即兩個時間點之間的長度。datetime.tzinfo:與時區有關的相關信息。(這里不詳細充分討論該類,感興趣的童鞋可以參考python手冊)
注 :上面這些類型的對象都是不可變(immutable)的。
下面詳細介紹這些類的使用方式。
date類
date類表示一個日期。日期由年、月、日組成(地球人都知道~~)。date類的構造函數如下:
class datetime.date(year, month, day):參數的意義就不多作解釋了,只是有幾點要注意一下:
year的范圍是[MINYEAR, MAXYEAR],即[1, 9999];month的范圍是[1, 12]。(月份是從1開始的,不是從0開始的~_~);day的最大值根據給定的year, month參數來決定。例如閏年2月份有29天;
date類定義了一些常用的類方法與類屬性,方便我們操作:
date.max、date.min:date對象所能表示的最大、最小日期;date.resolution:date對象表示日期的最小單位。這里是天。date.today():返回一個表示當前本地日期的date對象;date.fromtimestamp(timestamp):根據給定的時間戮,返回一個date對象;datetime.fromordinal(ordinal):將Gregorian日歷時間轉換為date對象;(Gregorian Calendar :一種日歷表示方法,類似於我國的農歷,西方國家使用比較多,此處不詳細展開討論。)
⑦ Python獲取當前時間前、後一個月的函數
這需求折騰了我半天..
import time
import datetime as datetime
def late_time(time2):
# 先獲得時間數組格式的日期
#time2是外部傳入的任意日期
now_time = datetime.datetime.strptime(time2, '%Y-%m-%d')
#如需求是當前時間則去掉函數參數改寫 為datetime.datetime.now()
threeDayAgo = (now_time - datetime.timedelta(days =30))
# 轉換為時間戳
timeStamp =int(time.mktime(threeDayAgo.timetuple()))
# 轉換為其他字元串格式
otherStyleTime = threeDayAgo.strftime("%Y-%m-%d")
return otherStyleTime
a = late_time("2019-3-30")
print(a)# 列印2018-02-28
⑧ python獲取日期的方法有哪些
python獲得某日時間的方法:1、輸入“import time”,“print time.time()”命令取得時間戳;2、運用“time.strftime()”方法格式化時間戳為標准格式即可獲得某日時間。
python獲取日期的方法有哪些?取得當前時間戳
import time
print time.time()
格式化時間戳為標准格式
1print time.strftime('%Y.%m.%d',time.localtime(time.time()))
獲取30天前的時間(通過加減秒數來獲取現在或者未來某個時間點)
print time.strftime('%Y.%m.%d',time.localtime(time.time()-2592000))
詳解:
取得時間相關的信息的話,要用到python time模塊,python time模塊裡面有很多非常好用的功能,可以去官方
文檔了解下,要取的當前時間的話,要取得當前時間的時間戳,時間戳好像是1970年到現在時間相隔的時間。
你可以試下下面的方式來取得當前時間的時間戳:
import time
print time.time()
python獲取日期的方法是什麼?輸出的結果是:
1357723206.31
但是這樣是一連串的數字不是我們想要的結果,我們可以利用time模塊的格式化時間的方法來處理:
time.localtime(time.time())
用time.localtime()方法,作用是格式化時間戳為本地的時間。
python獲取日期的方法有哪些?輸出的結果是:
time.struct_time(tm_year=2010, tm_mon=7, tm_mday=19, tm_hour=22, tm_min=33, tm_sec=39, tm_wday=0, tm_yday=200, tm_isdst=0)
現在看起來更有希望格式成我們想要的時間了。
time.strftime('%Y-%m-%d',time.localtime(time.time()))
最後用time.strftime()方法,把剛才的一大串信息格式化成我們想要的東西,現在的結果是:
2020-07-14
python獲取日期的方法有哪些?輸出日期和時間:
time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))
time.strftime裡面有很多參數,可以讓你能夠更隨意的輸出自己想要的東西:
下面是time.strftime的參數:
strftime(format[, tuple]) -> string
將指定的struct_time(默認為當前時間),根據指定的格式化字元串輸出
以上就是《python獲取日期的方法是什麼?這個方法才是你需要的》的全部內容,Python是一種動態解釋的、強類型定義語言:編寫它時不需要定義變數類型,運行時變數類型被強制固定,如果你想知道更多的python的相關方法,可以點擊本站的其他文章進行學習。
⑨ python 去年的當前時間
import datetime
dt = datetime.datetime(2019, 10, 20, 15, 46, 23)
dt.replace(year=dt.year-1)
⑩ pandas怎麼找出異常日期
將數據類型轉換為日期類型
df['date'] = pd.to_datetime(df['date'])
1
將date設置為index
df = df.set_index('date')
1
獲取某年的數據
print(df['2010'].head())
1
獲取某月的數據
print(df['2013-11'].head())
1
提取全日期欄位中的日期和時間項
data4["訂單生成時間"] = pd.to_datetime(data4["訂單生成時間"])
data4["時間"] = data4["訂單生成時間"].dt.hour #提取時間
data4["日期"] = data4["訂單生成時間"].dt.date #提取日期
1
2
3
獲取某個日期之前/後或時間區間的數據
dataframe的.truncate()函數可以截取某個時期之前或之後的數據,或者某個時間區間的數據,進行統計分析。
注意事項:
使用.truncate()函數對df進行數據集截取,遇到截取數據不符合預期,且若時間序列無序會拋出異常
解決措施:
在使用.truncate()函數對df進行數據集截取之前,需要先使用df=df.sort_values(『date』)『date』列按時間先後進行排序,然後使用df = df.set_index('date'),將「date」設置為index,最後再使用df_last=df.truncate(after=『2019-05-22 16:00:00』)提取指定時間節點之前的數據。
函數語法:
DataFrame.truncate(before=None, after=None, axis=None, =True)
1
參數說明:
before:取值范圍:date,string,int,是指截斷此索引值之前的所有行
after:取值范圍:date,string,int,是指截斷此索引值後的所有行
axis:取值范圍:{0或』index』,1或』columns』}(可選),是指軸截斷。 默認情況截斷索引(行)。
:取值范圍:boolean,默認為True,返回截斷部分的副本
常見用法:
獲取2014年以後的數據
print(df.truncate(before='2014').head())
1
獲取2013-11月之前的數據,用after
print(df.truncate(after='2013-11').head())
1
獲取2016-02月以後的數據,用before
print(df.truncate(before='2016-02').head())
1
獲取2019-05-22日16:00:00時之前的數據
df=data.truncate(after='2019-05-22 16:00:00')
1
獲取指定時間區間的數據
df=df['2016-02-2':'2016-02-10']
1
獲取指定時間區間的數據
df=df['2016-02-2':'2016-02-10']
1
python 獲取當前時間及前一天時間
import datetime
from pandas.tseries.offsets import Day
now_time =datetime.datetime.now()#獲取當前時間
yes_time = (now_time -1*Day()).strftime('%Y-%m-%d')#格式化
print(yes_time)
1
2
3
4
5
pandas的日期時間間隔運算
import datetime
from datetime import timedelta
df_189[『訂單生成日期』]=pd.to_datetime(df_189[『訂單生成日期』]) #修改「訂單生成時間」的數據類型
df_189[『訂單生成日期』]+timedelta(days=1) #後一天的日期
df_189[『訂單生成日期』]-timedelta(days=3) #前3天的日期
選取指定時間范圍內/外的數據
##提取3日前日期和7日前日期
now_time =datetime.datetime.now()#獲取當前時間
yes_time_7 = (now_time -7*Day()).strftime('%Y-%m-%d')#格式化
yes_time_3= (now_time-3*Day()).strftime("%Y-%m-%d")
print(yes_time_7)
print('='*50)
print(yes_time_3)
df_189['訂單生成日期']=pd.to_datetime(df_189['訂單生成日期']) #修改「訂單生成時間」的數據類型
df_189_7= df_189[df_189['訂單生成日期']==yes_time_7]
df_189_3= df_189[df_189['訂單生成日期']==yes_time_3]
print(df_189_7.info())
#選取該錯誤數據對應的時間范圍外的數據,多個條件時 '|'代表'或','&'代表'且'
或者
a= df_189[df_189['訂單生成日期']=='2019-06-23'] #篩選2019-06-23的數據
1
2
3
4
5
6
7
8
9
10
11
12
13
14
利用pandas計算DataFrame兩列日期的間隔小時數
import pandas as pd
#方法一:
#先利用to_datetime轉換為時間格式,tm列的數據形式為'yyyy-MM-dd HH:mm:ss'
df['tm_1'] = pd.to_datetime(df['tm_1'])
df['tm_2'] = pd.to_datetime(df['tm_2'])
#利用".dt.seconds"轉換為秒,除以相對於的間隔數得到分鍾、小時等
df['diff_time'] = (df['tm_1'] - df['tm_2']).dt.seconds/60
#利用round函數可進行四捨五入
df['diff_time'] = round(df['diff_time'])
#方法二,日期相減變為小時;變為天的話將h替換為D即可:
df['diff_time'] = (df['tm_1'] - df['tm_2']).values/np.timedelta64(1, 'h')
#Dataframe中的時間是不能直接進行相加減的,所以需要先用pandas的to_datetime()方法,轉化成時間格式進行加減,然後再轉換成df格式
#delta=df1['Time_end']-df1['Time_start'] #直接報錯TypeError: unsupported operand type(s) for -: 'str' and 'str'
#日期相減變為小時;變為天的話將h替換為D即可:
sf_df['交易周期']=pd.DataFrame((pd.to_datetime(sf_df['交易完成時間'])-pd.to_datetime(sf_df['訂單生成時間'])).values/np.timedelta64(1,'h'))
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
numpy中-Datetimes and Timedeltas的使用
日期格式轉換
在numpy中,使用np.datetime64('2017-08' , 'D')可以很方便的將字元串轉換成日期類型。
import numpy as np
np.datetime64('2017-08-06') #精確到日
>>>
numpy.datetime64('2017-08-06')
np.datetime64('2018-08') #精確到月
>>>
numpy.datetime64('2018-08')
# 通過參數,強制將數據格式轉為我們想要的粒度
np.datetime64('2017-08','D') #轉化到日
>>>
numpy.datetime64('2017-08-01')
np.datetime64('2017-08','Y') #轉化到年
>>>
numpy.datetime64('2017')
a = np.array(['2017-07-01','2017-07-15','2017-08-01'],dtype = np.datetime64) #列表日期
a
>>>
array(['2017-07-01', '2017-07-15', '2017-08-01'], dtype='datetime64[D]')
# 我們也可以使用arange函數初始化數組
b = np.arange('2017-08-01','2017-09-01',dtype = np.datetime64)
b
>>>
array(['2017-08-01', '2017-08-02', '2017-08-03', '2017-08-04',
'2017-08-05', '2017-08-06', '2017-08-07', '2017-08-08',
'2017-08-09', '2017-08-10', '2017-08-11', '2017-08-12',
'2017-08-13', '2017-08-14', '2017-08-15', '2017-08-16',
'2017-08-17', '2017-08-18', '2017-08-19', '2017-08-20',
'2017-08-21', '2017-08-22', '2017-08-23', '2017-08-24',
'2017-08-25', '2017-08-26', '2017-08-27', '2017-08-28',
'2017-08-29', '2017-08-30', '2017-08-31'], dtype='datetime64[D]')
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
日期的計算
在numpy中,我們可以進行簡單的日期計算
# 兩個日期相減,會得到相差的天數
np.datetime64('2017-08-03') - np.datetime64('2017-07-15')
>>>
numpy.timedelta64(19,'D')
# 這里日期可以直接減去對應的天數
np.datetime64('2017-08-03') - np.timedelta64(20,'D')
>>>
#這里日期的粒度必須保證一樣,一個是D,一個是M,是不可以相減的
np.datetime64('2017-08-03') - np.timedelta64(1,'M')
>>>
TypeError: Cannot get a common metadata divisor for NumPy datetime metadata [D] and [M] because they have incompatible nonlinear base time units
np.datetime64('2017-08') - np.timedelta64(1,'M')
>>>
numpy.datetime64('2017-07')
(np.datetime64('2014-10-30 23:00:00') - np.datetime64('2014-10-21 00:00:00')) #按秒計時
(np.datetime64('2014-10-30 23:00:00') - np.datetime64('2014-10-21 00:00:00'))/np.timedelta64(1, 'h') #計算時間差,並轉為小時
>>>
239.0
#計算終止時間-初試時間,轉為小時格式,最後格式設置為整型。np.floor((x - start_hour) / np.timedelta64(1, 'h')).astype(np.uint16)
np.floor((np.datetime64('2014-10-30 23:00:00') -
np.datetime64('2014-10-21 00:00:00'))/np.timedelta64(1, 'h')).astype(np.uint16)
>>>