Python編程題:兩個日期間的天數統計(附代碼)

2020-12-14 科技研究員猴哥

編程題一:計算兩個日期之間的天數

題目如下:

題目一

解題思路:

將兩個日期格式化成time模塊中的標準時間結構struct_time,缺少值用0補齊利用time模塊函數分別計算兩個日期到時間戳(指格林威治時間1970年01月01日00時00分00秒)的總秒數將2中計算得到的兩個秒數相減,除以一天的總秒數(24*3600秒)即可算出兩日期間的天數註:時間戳指的是格林威治時間1970年01月01日00時00分00秒(北京時間1970年01月01日08時00分00秒)起至現在的總秒數!由於python中time模塊的很多函數都是可以直接計算出指定時間的時間戳(秒數),所以統計兩個日期間的總天數就非常方便了!

代碼與運行結果:

代碼與運行結果

代碼解析:

time1 = (int(t1[0]),int(t1[1]),int(t1[2]),0,0,0,0,0,0)這裡補足6個0是因為在struct_time類型中至少需要9個值,而已經有了年月日,所以其他6個值都用0填充,這樣一個struct_time類型的所有元素就齊全了,下一步計算時間戳timestru1 = time.mktime(time1)time.mktime()函數的參數為struct_time類型中的元素構成的元組,即上面的time1一個問題:下面代碼中的「//」目的是什麼?print('兩個日期之間的總天數為:%d 天' % (int(abs(timestru2-timestru1))//24//3600))補充知識如下:

struct_time類型與時間格式轉換

思考:如果不使用上述方法,該怎樣統計兩個日期之間的總天數呢?

思考題

問題二:如何計算今天是今年的第幾天?

感興趣的讀者可以繼續使用time模塊中的函數來思考本題:

思考題二

感興趣的讀者可以評論區使用圖片形式交流具體的代碼實現!本文如有任何不足之處,歡迎讀者批評指正,謝謝!

相關焦點

  • EXCEL小技巧:如何計算兩個日期間工作日的天數
    帶有日期的單元格是我們日常使用EXCEL的時候經常見到的,有的時候我們需要求出兩個日期之間間隔的天數,可以直接用結束日期減去開始日期即可,這是個非常簡單的減法公式。這個公式雖然比較簡單,但如果稍加變換下,要你求出兩個日期間工作日的天數又該如何?可能天數比較近,比如只有十幾天,還可以手動計算下,但是如果兩個日期之間間隔有上白天,那就不是一般的人力所能為之了,這裡我們需要用到EXCEL當中的NETWORKDAYS函數。
  • 百道Python面試題實現,搞定Python編程就靠它
    對於一般的機器學習求職者而言,最基礎的就是掌握 Python 編程技巧,隨後才是相關算法或知識點的掌握。在這篇文章中,我們將介紹一個 Python 練習題項目,它從算法練習題到機試實戰題提供了眾多問題與解決代碼。在春招之前,我們就曾介紹過 GitHub 萬星的 ML 算法工程師面試指南,它提供了完整的面試知識點、編程題及題解、各科技公司的面試題錦等內容。
  • 一道SQL題 | 如何統計連續打卡天數
    「刁難」的題,就是《如何統計連續打卡天數》,當然了這裡面的打卡可以換成任意其他行為,比如連續登陸天數,連續學習天數,連續購買天數,這裡的天數也是可以換成小時或者別的時間單位的。直接來看實戰,現在有一張表t,這張表存儲了每個員工每天的打卡情況,現在需要統計截止目前每個員工的連續打卡天數,表t如下表所示:uidtdateis_flag12020/2/1112020/2/2012020/2/3112020/2/4112020/2/5012020/2/6112020/2/7112020/2/8122020/2/1122020/2/2022020/2/3022020
  • 從屌絲到高手,三道Python編程題,九種解題算法,看看你屬於哪一類
    今天,小編就帶領大家來進行三道簡單問題的解決,從屌絲解法到進階解法再到高手解法,一步步的帶領大家來提升自己的解題技巧和編程思路。充分利用python的內置函數,可以幫助我們在解題過程中大大的節省時間和程序。
  • 如何在疫情期間高效學習!附SQL/Python系統學習途徑
    這個是很多coding課上提倡的,找一個和你基礎差不多的人一起寫代碼作業,大家的強弱在不同的地方可以互相彌補,(而且兩個人一起為代碼痛苦比自己一個人為代碼痛苦要幸福的多),以我自己為例,如果是我自己寫作業,周五截止,我通常周三才開始寫,但是如果是pair coding,我們通常從周日就約好每天(online)見面一起寫coding...自己一個人就會想一直拖延..3.
  • 【程序原始碼】《零基礎學編程-python》源碼包1
    01 —【為什麼要學習編程】為什麼要學習編程?1、培養邏輯思維能力2、培養發現問題和解決問題的能力3、促進其他學科的學習4、找份好工作  02  —【python簡介】程式語言有很多種:java / C / JS /GO 等。python的代碼簡潔、短小很容易掌握。這是他流行的一個主要原因之一。
  • 年薪30萬+的python編程難不難?好學嗎?
    python翻譯成中文就是蟒;蚺蛇的意思。在計算機專業裡面Python是一門課程,專門學習計算機編程的課程,是一種跨平臺的電腦程式設計語言。一種高級,熱門的程式語言。那python好學嗎?先來了解下python這門計算機語言的特點:1、語法簡略和傳統的 C/C++、Java、C# 等言語比較,Python 對代碼格局的要求沒有那麼嚴厲,這種寬鬆使得用戶在編寫代碼時比較舒暢,不用在細枝末節上花費太多精力。
  • 開發一個文章簡繁體轉化的小工具(附python代碼)
    會編程的人參照以往項目的風格,大家一定會知道,可以用編程實現批量處理。哪怕是一百萬篇文章,只要一份代碼就能輕鬆鬆搞定。我們來看看用到的核心python包,hanziconv安裝命令: pip install hanziconv調用示例:是的,三句命令,就能實現簡繁體互轉,非常簡單。
  • Python遊戲編程
    為了達到這一目的,本課程應用python語言的語法知識帶領學生從無到有的開發遊戲,通過每個遊戲項目逐步應用學到的語法知識,在實際編程中加深體會。在課程設計中儘量站在初學者的角度,降低開發遊戲的難度,從而方便學生理解及掌握遊戲編程的基本原理和實現方法,逐步提高學生對編程的興趣和能力。
  • Python每天一分鐘:實例方法、靜態方法、類方法詳解(附代碼)
    在面向對象的編程中,已知類屬性可細分為類屬性和實例屬性一樣,同樣的,對於類中的方法也可以具體可劃分為類方法、實例方法和靜態方法!本文將通過代碼演示對這三種方法做將詳細介紹!python類編程三大方法Python實例方法在類編程中,一般情況下在類中定義的方法/函數默認都是實例方法。我們以下圖中的代碼來詳細說明:
  • python+C、C++混合編程的應用
    我看到的一個很好的Python與c/c++混合編程的應用是NS3(Network Simulator3)一款網絡模擬軟體,它的內部計算引擎需要用高性能,但在用戶建模部分需要靈活易用。NS3的選擇是使用C/C++來模擬核心部件和協議,用python來建模和擴展。這篇文章介紹python和c/c++三種混合編程的方法,並對性能加以分析。
  • 阿里P7工程師耗時兩天整理的292道python大廠面試題,內含解析!
    小編為了大家整理兩天,今天它來了python大廠292道面試題。希望大家能夠希望!292道python大廠面試題學習python的優點是什麼?>python的應用領域在系統編程中應用廣泛,比如說shell工具.
  • 編程貓推出海龜編輯器、代碼競技場等python教學產品
    藍鯨教育8月19日訊,昨日編程貓聯合創始人兼CTO孫悅,在中國青少年科技輔導員協會年會科學教育國際會議上,正式公布了編程貓的新產品,可轉化python語言的編程工具——海龜編輯器;遊戲化python學習平臺——代碼競技場及面向課標的python教學教材。
  • 從零開始實現穿衣圖像分割完整教程(附python代碼演練)
    分割的難點在於原始圖像中存在了大量的噪聲,但是我們會在預處理期間通過一個技巧來解決這個問題。最後,您還可以嘗試將此解決方案與之前引用的解決方案合併。 這允許您通過外出和拍攝時拍攝的照片,開發一個實時推薦和標記服裝的系統。項目下載地址關注微信公眾號 datayx  然後回復 穿衣  即可獲取。
  • python 定時器具體的使用代碼介紹
    python 定時器具體的使用代碼介紹 python 定時器在我們使用的時候有不少需要注意的事情,下面我們就看看如何才能更好的使用這個相關的語句。希望大家有所收穫。
  • 小白學編程?從一個簡單的程序開始學習Python編程
    筆者學習編程的時間也挺長的,因為業餘,因為時間不多,各種原因,自學編程的路特別難走。然後筆者發現,自己能為小白貢獻一些力量,然後決定創作適合小白的python編程類內容。今天,筆者想帶編程小白們從一個簡單的程序開始學習Python編程。
  • 這或許是最經典的Python編程教材
    Allen稱,《Think Python》是面向Python編程初學者的入門書籍。該書從編程的基本概念開始,經過精心設計,可以在首次使用時定義所有術語,並按照邏輯順序發展介紹每個新概念。其中,較大的內容部分(如遞歸和面向對象的編程)都劃分為一系列較小的步驟進行介紹。中文版本譯者是一名自學Python的編程愛好者。
  • python數據分析師面試題選
    描述numpy array比python list的優勢a. numpy array比python list更緊湊,存儲數據佔的空間小,讀寫速度快。PEP8是什麼python語言的編程規範,提高代碼可讀性3. init.py是什麼一個空文件,用於將導入目錄中的模塊。比如有一個模塊是maindir/subdir/module.py,init.py 可以使之可以通過以下形式導入。
  • 手把手教你從零上手Python(付安裝地址、代碼)
    幸運的是,如果你能處理好代碼縮進的話,Python語法就不沒那麼難了。我在使用Java程式語言時無需考慮注意縮進問題,然而當我之後開始使用Python時在縮進上容易出錯。 因此,如何開始學習Python?由於我們更喜歡通過實踐來學習的方式,所以我們總是讓新員工從Codecademy Python課程開始。
  • Python零基礎編程——起步並搭建環境
    Python執行了一句代碼:print("helloworld")簡單了解下就好:有個印象有個簡單的概念1.過程概述 Python先把代碼(.py文件)編譯成字節碼,交給字節碼虛擬機,...2.字節碼 字節碼在python解釋器程序裡對應的是PyCodeObject對象 ....3..pyc文件 PyCodeObject對象的創建時機是模塊加載的時候,及import P...