django 時間相關函式彙總

2021-10-24 07:20:33 字數 2690 閱讀 3355

#引入模組

#使用 import datetime 來匯入 使用時前面多加 datetime.datetime即可

import datetime

#相關函式

time.strftime('%y-%m-%dt%h:%m:%s') 轉換字串

timestr.strptime(time1, "%y-%m-%d %h:%m:%s") 轉換utc時區

#timedelte 可用值

#days seconds microseconds milliseconds minute hours weeks

subtime = utc_time - datetime.timedelta(hours=8); 增加或減少時間

#時間摺疊

#dates() datetimes()

#dates kind應該是"year","month","week","day", datetimes的kind追加 "hour","minute",或"second"

#day month會自動區分年份

datatime_log.objects.dates('datetime',"day").filter(userid = 1).count(); # dates返回日期不同的結果集 count 計算總數

#時間篩選

#使用django.utils.timezone.now()輸出的是帶時區的utc時間,稱為active time

from django.utils import timezone

timezone.now()

datetime.datetime(2016, 06, 19, 07, 15, 48, 367000, tzinfo=)

#使用datetime.datetime.utcnow()輸出的是不帶時區的utc時間,稱為***** time

from datetime import datetime

datetime.now()

datetime.datetime(2016, 06, 19, 07, 14, 55, 865000)

#如果專案需要根據時區顯示時間,那就使用django的timezone.now()。不需要的話將use_tz設定為false即可。

use_tz=false

now = datetime.now() #獲取現在的時間

start = datetime.timedelta(hours=23,minutes=59,seconds=59) #獲取當前時間中的一天內的開始時間

#查詢一天內的資料

#gt 大於

#gte 大於等於

#lt 小於

#lte 小於等於

#當前日期資料 即 一天內的資料 .date() .time()

datatime_log.objects.filter(datetime__gte=datetime.datetime.now().date())

#當前時間資料

datatime_log.objects.filter(datetime__gte=datetime.datetime.now().time())

#指定時間資料

datatime_log.objects.filter(userid='1', datetime__year='2020', datetime__month='8',datetime__day='10')

#查詢某年 __year

#查詢某月 __month

#查詢某天 __day

#查詢星期幾__week__day

model.objects.filter(date_time_field__month=9)

model.objects.filter(date_time_field__month=9)

datatime_log.objects.filter(datetime__year=2020,datetime__month=9,userid=1)

#或者 查詢一天內的資料

date_now = datetime.date.today() 獲取當天的日期

da = datetime.timedelta(30) #要查詢的天數

#時間範圍

#__range 範圍

***__range=[date_now -da,date_now])

start = datetime.date(2018,7,12)

end = datetime.date(2018,7,13)

model.objects.filter(time_filed__range=(start,end))

#時間加減

m = datatime_log.objects.get(id=10).datetime

v = datatime_log.objects.get(id=11).datetime

k = v-m

#確認相差的天數

k = (v-m).days

#確認相差的秒數 不會計算年月日相差 僅時分秒相差

k = (v-m).seconds

#確認相差的秒數 計算年月日相差

k = (v-m).total_seconds()

#mysql時區錯誤問題

shell >> mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql

時間函式彙總

程式中用到與時間相關的函式時,需要在程式的頭部加入標頭檔案 include 有關時間的結構如下 1.time t long time t time of day in seconds 2.tm struct tm 有關時間的函式 time 功能 返回從公元1970年1月1日0時0分0秒到現在所經過的...

訊號相關函式彙總

1.函式說明 kill 和raise 是用來傳送訊號的 kill 把訊號傳送給程序或程序組 它不僅可以中止程序,也可以向程序傳送其他訊號 raise 把訊號傳送給 程序 自身.它們的原型如下 include include int kill pid t pid,指明要傳送的訊號程序號 int sig...

訊號相關函式彙總

1.函式說明 kill 和raise 是用來傳送訊號的 kill 把訊號傳送給程序或程序組 它不僅可以中止程序,也可以向程序傳送其他訊號 raise 把訊號傳送給 程序 自身.它們的原型如下 include include int kill pid t pid,指明要傳送的訊號程序號 int sig...