產品經理讓我統計下從1月1號到現在的日均交易額,總交易額倒是很好統計,但是今天是今年的第幾天呢?好吧學學這個知識點吧。
time模組
import time
>>> time.gmtime() # utc時間
time.struct_time(tm_year=2015, tm_mon=9, tm_mday=20, tm_hour=13, tm_min=6, tm_se
c=33, tm_wday=6, tm_yday=263, tm_isdst=0)
>>> time.localtime() # 本地時間
time.struct_time(tm_year=2015, tm_mon=9, tm_mday=20, tm_hour=21, tm_min=6, tm_se
c=25, tm_wday=6, tm_yday=263, tm_isdst=0)
>>> time.time() # 當前時間戳,從1970-1-1以來的秒數
1442754566.201
>>> time.mktime(time.localtime()) # 時間轉成時間戳
1442754240.0
看看它的這些屬性吧
tm_year=2015
# 年tm_mon=9
# 月tm_mday=20
# 日tm_hour=21
# 時tm_min=6
# 分tm_sec=25
# 秒tm_wday=6
# 星期
tm_yday=263
# 一年的第幾天
tm_isdst=0
# 夏令時當前是否生效
# 屬性可以這樣使用
>>> time.localtime().tm_year
2015
time.strftime('%y-%m-%d %h:%m:%s', time.gmtime()) # 時間轉字串格式
'2015-09-20 13:33:59'
time.strptime('2015-09-20 13:33:59', '%y-%m-%d %h:%m:%s') # 字串轉時間
time.struct_time(tm_year=2015, tm_mon=9, tm_mday=20, tm_hour=13, tm_min=33, tm_s
ec=59, tm_wday=6, tm_yday=263, tm_isdst=-1)
datetime模組
date.year
date.month
date.day
date.today()
date.weekday()
date.strftime(fmt)
time.hour
time.minute
time.second
time.microsecond
time.strftime(fmt)
# 平時使用最多的
datetime.today() # 今天時間
datetime.now() # 本地時間
datetime.utcnow() # utc時間(比中國時間晚8小時,中國處東8區)
datetime.strptime(date_string, format) # 字串轉時間
datetime.strftime(fmt) # 時間轉字串
datetime.date()
datetime.time()
datetime.replace([year[, month[, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]]]]])
datetime.timetuple()
# time.struct_time(tm_year=2015, tm_mon=9, tm_mday=20, tm_hour=18, tm_min=36, tm_s
ec=5, tm_wday=6, tm_yday=263, tm_isdst=-1)
datetime.utctimetuple()
datetime.weekday()
datetime.ctime()
# 'sun sep 20 18:36:05 2015'
replace 與 timedelta比較
import datetime
now = datetime.date(2015,9,20)
tomorrow = now.replace(day = 19)
# datetime.date(2015, 9, 19)
d = datetime.timedelta(days=1)
tomorrow = now - d
# datetime.date(2015, 9, 19)
格式字元
%a 星期的簡寫,如星期三為web
%a 星期的全寫,如星期三為wednesday
%b 月份的簡寫,如4月份為apr
%b 月份的全寫,如4月份為april
%c 日期時間的字串表示。(如: 04/07/10 10: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])
%u 周在當年的週數當年的第幾周),星期天作為周的第一天
%w 今天在這週的天數,範圍為[0, 6],6表示星期天
%w 周在當年的週數(是當年的第幾周),星期一作為周的第一天
%x 日期字串(如:04/07/10)
%x 時間字串(如:10:43:39)
%y 2個數字表示的年份
%y 4個數字表示的年份
%z 與utc時間的間隔 (如果是本地時間,返回空字串)
%z 時區名稱(如果是本地時間,返回空字串)
所以到目前,我們有幾個方法來解決這個問題
improt time
>>> time.localtime().tm_yday
263from datetime import datetime
>>> datetime.now().timetuple().tm_yday
263>>> datetime.now().strftime('%j')
'263'
算算今天是今年第幾天
題目描述 給定乙個日期,輸出這個日期是該年的第幾天。輸入描述 輸入資料有多組,每組佔一行,資料格式為 yyyy mm dd 組成,具體參見 sample input 另外,可以向你確保所有的輸入資料是合法的。輸出描述 對於每組輸入資料,輸出一行,表示該日期是該年的第幾天。以下為 1 include2...
python 今天是本年的第幾天
題目表述 給定年月日,如2019 1 8,列印輸出這一天是該年的第幾天。輸入格式 共一行,為乙個字串,年月日之間以 隔開,如2019 1 8。輸出格式 共一行,為乙個正整數。輸入樣例 2019 1 8 輸出樣例 import datetime list list map int input spli...
今天是你生命中的第幾天?
這個問題用excel來計算很簡單,只要我們在乙個格仔 a1 寫入生日,在另乙個格仔 b1 寫入 today 在第三個格仔寫入算式 b1 a1 1 即可。後來想到用c語言的時間函式來做,演算法很簡單,但是對時間函式不熟悉,結果花了幾乎一晚上。要反思這種低效率的學習或工作方式。我想對於今天的低效率有這麼...