python閏年多一天_記一個 python datetime 閏年問題

python中datetime是比較常用的,平時用起來也沒什么問題,但是今天2020年2月29日服務器卻開始報錯了,這里有個平時難以注意的坑

服務器上跑的是新浪網的爬蟲,抓取的頁面信息中帶有日期 XX月XX日,需要strfptime轉化一下,型如

import datetime

datetime.datetime.strptime('(02月29日 10:47)', '(%m月%d日 %H:%M)')

這里會報:ValueError: day is out of range for month

debug一下可以發現,datetime在處理未提供年份的日期時候,是按照如下圖所示的邏輯處理的

注意斷點處,將默認年設置為了1900,至于原因官方也在注釋中聲明了: ensure that February 29th is smaller than March 1st,可惜的是1900是平年,進而導致1900-02-29轉化datetime錯誤。

這種問題,沒有通用的處理方法,主要是業務上限制這個時間的使用,如果業務數據都是今年的那么直接獲取當前年份傳進去即可,如果處理老數據再涉及到時間前后對比的話就麻煩了,用當前時間不行,不用當前時間又會有影響,只能針對性的對具體業務場景寫一些針對性的邏輯來處理。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/538237.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/538237.shtml
英文地址,請注明出處:http://en.pswp.cn/news/538237.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

linux find 按類型查找,Linux find查找find命令詳解

玩蛇網推薦圖文教程:python 列表Linux命令有很多,今天要介紹的是常用的基礎命令中的find命令。find是Linux系統管理員所喜愛用的必備工具命令之一,它的作用是可以很輕松地找到你想要的文件,一個命令就可以在眾多文件中找到你的目標…

window安裝gcc編譯器

在使用 GraphLab Create 時,導入包失敗,提示libs沒有的導入,而這些libs的編譯是需要gcc。 1、訪問:http://www.mingw.org/ 下載。 2、雙擊安裝 3、安裝好后會彈出下面的組件安裝界面 3、找到mingw32-gcc-g(注意cl…

視頻AI,助力體育賽事轉播走進智能時代

摘要:2018俄羅斯世界杯經過近20天的激戰,已經進入到最關鍵的階段。本次賽事除了精彩紛呈的比賽之外,還加入很多高科技的元素,例如門線、VAR技術等等。讓本屆世界杯成為科技含量最高的一屆世界杯。2018俄羅斯世界杯經過近20天的激戰…

python求同構數_用c語言求1到1000的同構數_后端開發

python與平臺有關嗎_后端開發Python與平臺無關,因為Python是跨平臺的語言,Python作為腳本語言,是解釋執行的,所以能跨平臺,前提是必須要有一個對應的解釋器。具體請看實例:python中count函數的用法詳解_后端…

element表格實現樹形全選_很實用!word中全選的快捷鍵介紹及使用方法

全選快捷鍵可以提高我們在操作word時工作效率,在操作Word2003中怎么對文檔中的文字進行全選呢?下面為大家提供幾種全選的方法,絕對好用。Word怎樣全選?方法一、使用Word全選快捷鍵“CtrlA”進行全選(也適用于電子表格);方法二、展開菜單欄中的“編輯”…

am3352 linux 內核 編譯,am335x uboot, kernel 編譯

一、設置環境變量// 寫在家目錄下面的 .bashrc 里面export KERNEL_PATH~/aplex/kernel3.2.0 // kernel 路徑export UBOOT_PATH~/aplex/uboot2011.09 // u-boot 路勁export ROOTFS_PATH~/aplex/filesystemexport TOOLFS_PATH~/aplex/toolsexport ARCHarm // 設置平臺類型export …

Docker的應用場景

原文鏈接:http://blog.csdn.net/dev_csdn/article/details/78424803 ------------------------------------------------------------------- Docker是開發人員和系統管理員構建,發布和運行分布式應用程序的開放平臺,可以在筆記本電腦、數據…

cad多段線畫圓弧方向_【學員分享】CAD多段線用法

原標題:【學員分享】CAD多段線用法1、執行方法:(1)菜單欄:繪圖→多段線(2)繪圖功能區:繪圖→多段線按鈕(3)快捷鍵:PL2、使用方法(1)多段線與直線的區別:直線每一段都是分開的,圖畫完后不是一個整…

linux 視頻編輯 ffmpeg,ffmpeg轉碼視頻真的好用!(ffmpeg的簡單使用方法)

說明轉碼和編輯視頻今天用Android Studio(后面簡稱AS)里的模擬器給系統錄屏,用來展示OpenGL可視化的東西,打算上傳B站,后來發現AS只能保存webm格式和GIF格式的視頻,并且文件體積巨大,視頻圖像也是順時針旋轉的。沒辦法…

requests庫入門09-OAUTH認證

實際登陸中,認證用到的token會變的,不過可以在GIthub設置一個私人token。 如圖,登錄GIthub,然后用戶下面選擇Settings/Developer settings/Personal access tokens,點擊Generate new token,然后隨便輸個描述&#xff0…

mysql期末考試試卷_mysql試題

net start mysqlfound_rows函數 返回select的總行數哪種操作能夠實現實體完整性 設置外鍵數據模型三要素:數據結構、數據操作、完整性約束,哪項不屬于數據模型 網狀模型(層次、網狀、關系、面向對象模型)觸發器主要用于監視某個表的insert、update以及de…

深入了解HashMap

什么是hash?哈希算法將任意長度的二進制值映射為較短的固定長度的二進制值,這個小的二進制值稱為哈希值。哈希值是一段數據唯一且極其緊湊的數值表示形式。如果散列一段明文而且哪怕只更改該段落的一個字母,隨后的哈希都將產生不同的值。要找…

snort入侵檢測系統下載Linux,入侵檢測系統Snort 2.9.0.2 發布

Snort 是一個免費的、跨平臺的軟件包,用作監視小型 TCP/IP 網的嗅探器、日志記錄、侵入探測器。Snort 是全世界上使用最廣泛的入侵預防與偵測軟件。Snort 有三種工作模式:嗅探器、數據包記錄器、網絡入侵檢測系統。嗅探器模式僅僅是從網絡上讀取數據包并…

IRC BOT原來是利用IRC下發CC命令——在xx云環境遇到了,惡意軟件開的是6666端口...

Backdoor/IRC.RpcBot 本詞條缺少名片圖,補充相關內容使詞條更完整,還能快速升級,趕緊來編輯吧!Backdoor/IRC.RpcBot是一些批處理文件、腳本文件和執行文件的集合,也是一種黑客工具,這些文件的名稱是可以變化…

科大奧銳實驗報告霍爾效應_大學物理實驗報告系列之霍爾效應

【實驗名稱】霍爾效應【實驗目的】1.了解霍爾效應實驗原理以及有關霍爾器件對材料要求的知識。2.學習用“對稱測量法”消除付效應的影響,測量試樣的VH—IS;和VH—IM曲線。3.確定試樣的導電類型、載流子濃度以及遷移率。…

Android studio http 代理設置

Android studio http 代理設置 大連東軟信息學院鏡像服務器地址: - http://mirrors.neusoft.edu.cn 端口:80

三位數倒序數C語言,C語言求助!一個三位數的逆序數,總是編不對

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓#include #include #include int main(){int n,a,b,c,sum,ge,shi,bai;printf("請輸入一個三位整數:\n");scanf("%d",&n);nfabs(n);an/100;b(n-a*100)/10;cn%10;if(a>b&&b>c){gec…

DB2 存儲過程中執行動態SQL的兩種寫法

樣本代碼: DROP PROCEDURE QUOTATION.COPY_SAMPLE; CREATE PROCEDURE QUOTATION.COPY_SAMPLE (IN tableNameFrom VARCHAR(30), IN tableNameTo VARCHAR(30), INOUT copyResult INTEGER)BEGINDECLARE SQLCODE INTEGER DEFAULT 0;SET copyResult 0;-- Proecss 1BEGIN…

tp5 批量更新多條記錄_Thinkphp批量更新數據的方法匯總

以下小編給大家列出了三種實現thinkphp批量更新數據的方法,寫的不好還請見諒,有意見歡迎提出,共同學習進步! 方法一: //批量修改 data二維數組 field關鍵字段 參考ci 批量修改函數 傳參方式 function batch_update($table_name=,$data=array(),$field=){if(!$table_name||…

linux shmmax單位,Linux核心參數Shmmax,shmall,shmni

Linux 下核心參數調整kernel.shmmaxshmmax是核心參數中最重要的參數之一,用于定義單個共享內存段的最大值,shmmax設置應足夠大,能在一個共享內存段下容納下整個的SGA,設置的過低可能會導致需要創建多個共享內存段,可能…