今天是今年的第幾天

2021-09-30 12:35:32 字數 3465 閱讀 1733

產品經理讓我統計下從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語言的時間函式來做,演算法很簡單,但是對時間函式不熟悉,結果花了幾乎一晚上。要反思這種低效率的學習或工作方式。我想對於今天的低效率有這麼...