【Python】Python判斷統計每個月天數原始碼示例
如何利用Python判斷統計每個月天數源。在日常的學習或是工作中會經常遇到需要統計日期資料的情況。特別是統計涉及到自然周或是自然月的計算。
用Python程式語言來統計這些是需要考慮很多條件的。例如:自動執行的時候我們需要判斷每個月的天數,而且對於自然月的加減,還要考慮跨年的自然月與是否閏年。
這是一個用python寫的小程式,可以計算自然周與自然月。是通過時間戳計算,返回時間戳;
如果計算天則返回當天凌晨的時間戳;
如果計算周則返回當週週一的凌晨時間戳;
自然月則返回當月1日凌晨時間戳。
程式碼不是很好看,但效果還是不錯的。
斷統計每個月天數原始碼示例:如下
#!/usr/bin/python # -*- coding: utf-8 -*- """ 計算自然周第一天、自然月第一天和每天的凌晨時間戳 //www.iplaypy.com/ """ import time def get_day_begin(ts = time.time(),N = 0): """ N為0時獲取時間戳ts當天的起始時間戳,N為負數時前數N天,N為正數是後數N天 """ return int(time.mktime(time.strptime(time.strftime('%Y-%m-%d',time.localtime(ts)),'%Y-%m-%d'))) + 86400*N def get_week_begin(ts = time.time(),N = 0): """ N為0時獲取時間戳ts當週的開始時間戳,N為負數時前數N周,N為整數是後數N周,此函式將週一作為周的第一天 """ w = int(time.strftime('%w',time.localtime(ts))) return get_day_begin(int(ts - (w-1)*86400)) + N*604800 def get_month_begin(ts = time.time(),N = 0): """ N為0時獲取時間戳ts當月的開始時間戳,N為負數前數N月,N為正數後數N月 """ month_day = {1:31,3:31,4:30,5:31,6:30,7:31,8:31,9:30,10:31,11:30,12:31} cur_y,cur_m,cur_d = [int(x) for x in time.strftime('%Y-%m-%d',time.localtime(ts)).split('-')] if (cur_y%4 == 0 and cur_y%100 != 0) or cur_y%400 == 0: month_day[2] = 29 else: month_day[2] = 28 t = get_day_begin(ts) - (cur_d-1)*86400 real_month = N + cur_m if real_month == cur_m: return t if N > 0: if real_month <= 12: for x in xrange(cur_m,real_month): t += month_day[x]*86400 if real_month > 12: for x in xrange(cur_m,13): t += month_day[x]*86400 t = get_month_begin(t,real_month - 13) if N < 0: if real_month >= 1: for x in xrange(real_month,cur_m): t -= month_day[x]*86400 if real_month < 1: for x in xrange(1,cur_m): t -= month_day[x]*86400 t -= month_day[12]*86400 t = get_month_begin(t,real_month) return t if __name__ == "__main__": t = time.time() print time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(get_day_begin(t,1))) print time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(get_week_begin(t,-2))) print time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(get_month_begin(t,-3)))
大家在學python的時候肯定會遇到很多難題,以及對於新技術的追求,這裡推薦一下我們的Python資源分享秋秋裙:855408893 內有安裝包,學習視訊資料,免費直播實戰案例。這裡是Python學習者的聚集地,零基礎,進階,都歡迎每日分享一些學習的方法和需要注意的小細節
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69913713/viewspace-2649419/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- python如何判斷一個數是否是整數Python
- python怎麼判斷一個數是幾位數Python
- 如何使用Python判斷奇偶數?Python
- Python:判斷一個正整數是否為迴文數Python
- 【Python】Python抓取分享頁面的原始碼示例Python原始碼
- 【Python】python連結串列應用原始碼示例Python原始碼
- Python判斷海域有多少個小島Python
- Python判斷閏年Python
- 怎麼判斷Python數字中的偶數Python
- python 判斷作業系統型別Python作業系統型別
- <Python>判斷變數是否是DataFrame 或者 SeriesPython變數
- Python 判斷質數的另一種方法Python
- python 判斷變數是數字型還是字元型Python變數字元
- python如何判斷一個物件是否是列表Python物件
- python 判斷是否為中文Python
- python中字串格式判斷Python字串
- python之判斷語句Python
- Python中None如何判斷PythonNone
- python if判斷的使用格式Python
- python如何判斷字串相等Python字串
- python判斷是否為listPython
- python如何判斷迴文Python
- 判斷一個數是否為質數(程式碼)
- Python 遍歷檔案每一行判斷是否只有一個換行符詳解Python
- Python判斷字串是否為字母或者數字(浮點數)Python字串
- Python判斷變數是否是整數的方法有哪些?Python變數
- python 資料型別 python 做一天內時間段判斷測試Python資料型別
- python能判斷一個物件的型別嗎Python物件型別
- Java判斷統計Java
- Python有效括號字串判斷和深度計算Python字串
- 【入門】統計每個月兔子的總數 - 題解
- 【質數判斷】給定兩個數,判斷這兩個數是否互質?
- Python中型別最佳判斷方法Python型別
- Python 基礎 - if else流程判斷Python
- Python入門 - 判斷語句Python
- 11.9 python之判斷語句Python
- python怎麼判斷星期幾Python
- python怎麼判斷大小寫Python