當前位置:首頁 » 編程語言 » python日期數字

python日期數字

發布時間: 2022-08-23 23:52:34

python 讀取execl的時候 日期格式讀出來的是一串數字,怎麼才能還原成日期格式,我的日期是datetime類型

你是用pyExcelerator還是xlrd讀的excel?如果是xlrd那它自帶一個xldate_as_tuple函數,可以轉成datetime,比如:

from datetime import datetime
from xlrd import xldate_as_tuple

d=datetime(*xldate_as_tuple(x,0))#x就是你那串數字的變數

如果是用pyExcelerator,那好象它沒有類似的函數,可以用下面這個函數:

def xldate_as_datetime(xldate, datemode=0):
if datemode not in (0, 1):
raise XLDateBadDatemode(datemode)
if xldate == 0.00:
return datetime.time(0, 0, 0)
if xldate < 0.00:
raise XLDateNegative(xldate)
xldays = int(xldate)
frac = xldate - xldays
seconds = int(round(frac * 86400.0))
assert 0 <= seconds <= 86400
if seconds == 86400:
seconds = 0
xldays += 1
#if xldays >= _XLDAYS_TOO_LARGE[datemode]:
# raise XLDateTooLarge(xldate)
if xldays == 0:
# second = seconds % 60; minutes = seconds // 60
minutes, second = divmod(seconds, 60)
# minute = minutes % 60; hour = minutes // 60
hour, minute = divmod(minutes, 60)
return datetime.time(hour, minute, second)
if xldays < 61 and datemode == 0:
raise XLDateAmbiguous(xldate)
return (
datetime.datetime.fromordinal(xldays + 693594 + 1462 * datemode)
+ datetime.timedelta(seconds=seconds)
)

用法:
d=xldate_as_datetime(x)#x就是你那串數字的變數

㈡ python怎麼輸入日期

"%Y - %m - %d"不能有空格,如果是python3,把raw_input改成input。


#-*-coding:UTF-8-*-
importtime
importdatetime

a=raw_input('請輸入日期,格式為yyyy-mm-dd')
t=time.strptime(a,"%Y-%m-%d")
y,m,d=t[0:3]
print(datetime.datetime(y,m,d))

㈢ 如何解析日期與python

Python 程序能用很多方式處理日期和時間,轉換日期格式是一個常見的功能。
Python 提供了一個 time 和 calendar 模塊可以用於格式化日期和時間。
時間間隔是以秒為單位的浮點小數。
每個時間戳都以自從1970年1月1日午夜(歷元)經過了多長時間來表示。
Python 的 time 模塊下有很多函數可以轉換常見日期格式。如函數time.time()用於獲取當前時間戳, 如下實例:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import time; # 引入time模塊

ticks = time.time()
print "當前時間戳為:", ticks

以上實例輸出結果:
當前時間戳為: 1459994552.51

時間戳單位最適於做日期運算。但是1970年之前的日期就無法以此表示了。太遙遠的日期也不行,UNIX和Windows只支持到2038年。

什麼是時間元組?
很多Python函數用一個元組裝起來的9組數字處理時間:

序號
欄位


0 4位數年 2008
1 月 1 到 12
2 日 1到31
3 小時 0到23
4 分鍾 0到59
5 秒 0到61 (60或61 是閏秒)
6 一周的第幾日 0到6 (0是周一)
7 一年的第幾日 1到366 (儒略歷)
8 夏令時 -1, 0, 1, -1是決定是否為夏令時的旗幟
上述也就是struct_time元組。這種結構具有如下屬性:

序號
屬性


0 tm_year 2008
1 tm_mon 1 到 12
2 tm_mday 1 到 31
3 tm_hour 0 到 23
4 tm_min 0 到 59
5 tm_sec 0 到 61 (60或61 是閏秒)
6 tm_wday 0到6 (0是周一)
7 tm_yday 1 到 366(儒略歷)
8 tm_isdst -1, 0, 1, -1是決定是否為夏令時的旗幟

獲取當前時間
從返回浮點數的時間輟方式向時間元組轉換,只要將浮點數傳遞給如localtime之類的函數。
#!/usr/bin/python
# -*- coding: UTF-8 -*-

import time

localtime = time.localtime(time.time())
print "本地時間為 :", localtime

以上實例輸出結果:
本地時間為 : time.struct_time(tm_year=2016, tm_mon=4, tm_mday=7, tm_hour=10, tm_min=3, tm_sec=27, tm_wday=3, tm_yday=98, tm_isdst=0)

獲取格式化的時間
你可以根據需求選取各種格式,但是最簡單的獲取可讀的時間模式的函數是asctime():
#!/usr/bin/python
# -*- coding: UTF-8 -*-

import time

localtime = time.asctime( time.localtime(time.time()) )
print "本地時間為 :", localtime

以上實例輸出結果:
本地時間為 : Thu Apr 7 10:05:21 2016

格式化日期
我們可以使用 time 模塊的 strftime 方法來格式化日期,:
time.strftime(format[, t])
#!/usr/bin/python
# -*- coding: UTF-8 -*-

import time

# 格式化成2016-03-20 11:45:39形式
print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())

# 格式化成Sat Mar 28 22:24:24 2016形式
print time.strftime("%a %b %d %H:%M:%S %Y", time.localtime())

# 將格式字元串轉換為時間戳
a = "Sat Mar 28 22:24:24 2016"
print time.mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y"))

以上實例輸出結果:
2016-04-07 10:25:09
Thu Apr 07 10:25:09 2016
1459175064.0

python中時間日期格式化符號:
%y 兩位數的年份表示(00-99)
%Y 四位數的年份表示(000-9999)
%m 月份(01-12)
%d 月內中的一天(0-31)
%H 24小時制小時數(0-23)
%I 12小時制小時數(01-12)
%M 分鍾數(00=59)
%S 秒(00-59)
%a 本地簡化星期名稱
%A 本地完整星期名稱
%b 本地簡化的月份名稱
%B 本地完整的月份名稱
%c 本地相應的日期表示和時間表示
%j 年內的一天(001-366)
%p 本地A.M.或P.M.的等價符
%U 一年中的星期數(00-53)星期天為星期的開始
%w 星期(0-6),星期天為星期的開始
%W 一年中的星期數(00-53)星期一為星期的開始
%x 本地相應的日期表示
%X 本地相應的時間表示
%Z 當前時區的名稱
%% %號本身
獲取某月日歷
Calendar模塊有很廣泛的方法用來處理年歷和月歷,例如列印某月的月歷:
#!/usr/bin/python
# -*- coding: UTF-8 -*-

import calendar

cal = calendar.month(2016, 1)
print "以下輸出2016年1月份的日歷:"
print cal;

以上實例輸出結果:
以下輸出2016年1月份的日歷:
January 2016
Mo Tu We Th Fr Sa Su
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

Time 模塊
Time 模塊包含了以下內置函數,既有時間處理相的,也有轉換時間格式的:

序號
函數及描述

1 time.altzone
返回格林威治西部的夏令時地區的偏移秒數。如果該地區在格林威治東部會返回負值(如西歐,包括英國)。對夏令時啟用地區才能使用。
2 time.asctime([tupletime])
接受時間元組並返回一個可讀的形式為"Tue Dec 11 18:07:14 2008"(2008年12月11日 周二18時07分14秒)的24個字元的字元串。
3 time.clock( )
用以浮點數計算的秒數返回當前的CPU時間。用來衡量不同程序的耗時,比time.time()更有用。
4 time.ctime([secs])
作用相當於asctime(localtime(secs)),未給參數相當於asctime()
5 time.gmtime([secs])
接收時間輟(1970紀元後經過的浮點秒數)並返回格林威治天文時間下的時間元組t。註:t.tm_isdst始終為0
6 time.localtime([secs])
接收時間輟(1970紀元後經過的浮點秒數)並返回當地時間下的時間元組t(t.tm_isdst可取0或1,取決於當地當時是不是夏令時)。
7 time.mktime(tupletime)
接受時間元組並返回時間輟(1970紀元後經過的浮點秒數)。
8 time.sleep(secs)
推遲調用線程的運行,secs指秒數。
9 time.strftime(fmt[,tupletime])
接收以時間元組,並返回以可讀字元串表示的當地時間,格式由fmt決定。
10 time.strptime(str,fmt='%a %b %d %H:%M:%S %Y')
根據fmt的格式把一個時間字元串解析為時間元組。
11 time.time( )
返回當前時間的時間戳(1970紀元後經過的浮點秒數)。
12 time.tzset()
根據環境變數TZ重新初始化時間相關設置。
Time模塊包含了以下2個非常重要的屬性:

序號
屬性及描述

1 time.timezone
屬性time.timezone是當地時區(未啟動夏令時)距離格林威治的偏移秒數(>0,美洲;<=0大部分歐洲,亞洲,非洲)。
2 time.tzname
屬性time.tzname包含一對根據情況的不同而不同的字元串,分別是帶夏令時的本地時區名稱,和不帶的。

日歷(Calendar)模塊
此模塊的函數都是日歷相關的,例如列印某月的字元月歷。
星期一是默認的每周第一天,星期天是默認的最後一天。更改設置需調用calendar.setfirstweekday()函數。模塊包含了以下內置函數:

序號
函數及描述

1 calendar.calendar(year,w=2,l=1,c=6)
返回一個多行字元串格式的year年年歷,3個月一行,間隔距離為c。 每日寬度間隔為w字元。每行長度為21* W+18+2* C。l是每星期行數。
2 calendar.firstweekday( )
返回當前每周起始日期的設置。默認情況下,首次載入caendar模塊時返回0,即星期一。
3 calendar.isleap(year)
是閏年返回True,否則為false。
4 calendar.leapdays(y1,y2)
返回在Y1,Y2兩年之間的閏年總數。
5 calendar.month(year,month,w=2,l=1)
返回一個多行字元串格式的year年month月日歷,兩行標題,一周一行。每日寬度間隔為w字元。每行的長度為7* w+6。l是每星期的行數。
6 calendar.monthcalendar(year,month)
返回一個整數的單層嵌套列表。每個子列表裝載代表一個星期的整數。Year年month月外的日期都設為0;范圍內的日子都由該月第幾日表示,從1開始。
7 calendar.monthrange(year,month)
返回兩個整數。第一個是該月的星期幾的日期碼,第二個是該月的日期碼。日從0(星期一)到6(星期日);月從1到12。
8 calendar.prcal(year,w=2,l=1,c=6)
相當於 print calendar.calendar(year,w,l,c).
9 calendar.prmonth(year,month,w=2,l=1)
相當於 print calendar.calendar(year,w,l,c)。
10 calendar.setfirstweekday(weekday)
設置每周的起始日期碼。0(星期一)到6(星期日)。
11 calendar.timegm(tupletime)
和time.gmtime相反:接受一個時間元組形式,返回該時刻的時間輟(1970紀元後經過的浮點秒數)。
12 calendar.weekday(year,month,day)
返回給定日期的日期碼。0(星期一)到6(星期日)。月份為 1(一月) 到 12(12月)。

㈣ python怎麼輸出時間

你可以試下下面的方式來取得當前時間的時間戳:
import
time
print
time.time()
輸出的結果是:
1357723206.31
但是這樣是一連串的數字不是我們想要的結果,我們可以利用time模塊的格式化時間的方法來處理:
time.localtime(time.time())
用time.localtime()方法,作用是格式化時間戳為本地的時間。
輸出的結果是:
time.struct_time(tm_year=2010,
tm_mon=7,
tm_mday=19,
tm_hour=22,
tm_min=33,
tm_sec=39,
tm_wday=0,
tm_yday=200,
tm_isdst=0)
現在看起來更有希望格式成我們想要的時間了。
time.strftime('%Y-%m-%d',time.localtime(time.time()))
最後用time.strftime()方法,把剛才的一大串信息格式化成我們想要的東西,現在的結果是:
2013-01-09
輸出日期和時間:
time.strftime('%Y-%m-%d
%H:%M:%S',time.localtime(time.time()))
time.strftime裡面有很多參數,可以讓你能夠更隨意的輸出自己想要的東西:
下面是time.strftime的參數:
strftime(format[,
tuple])
->
string
將指定的struct_time(默認為當前時間),根據指定的格式化字元串輸出
python中時間日期格式化符號:
%y
兩位數的年份表示(00-99)
%Y
四位數的年份表示(000-9999)
%m
月份(01-12)
%d
月內中的一天(0-31)
%H
24小時制小時數(0-23)
%I
12小時制小時數(01-12)
%M
分鍾數(00=59)
%S
秒(00-59)
%a
本地簡化星期名稱
%A
本地完整星期名稱
%b
本地簡化的月份名稱
%B
本地完整的月份名稱
%c
本地相應的日期表示和時間表示
%j
年內的一天(001-366)
%p
本地A.M.或P.M.的等價符
%U
一年中的星期數(00-53)星期天為星期的開始
%w
星期(0-6),星期天為星期的開始
%W
一年中的星期數(00-53)星期一為星期的開始
%x
本地相應的日期表示
%X
本地相應的時間表示
%Z
當前時區的名稱
%%
%號本身

㈤ python日期獲取秒數

1、使用new Date()獲取當前日期,new Date().getTime()獲取當前毫秒數

2、計算公式,等於獲取的當前日期減去或者加上一天的毫秒數。一天的毫秒數的計算公式:24小時*60分鍾*60秒*1000毫秒,也是86400000毫秒。

舉例:

Date curDate = new Date();

var preDate = new Date(curDate.getTime() - 24*60*60*1000); //前一天

var nextDate = new Date(curDate.getTime() + 24*60*60*1000); //後一天

以下圖片使用後台輸出表示。

(5)python日期數字擴展閱讀

var myDate = new Date();

myDate.getYear(); //獲取當前年份(2位)

myDate.getFullYear(); //獲取完整的年份(4位,1970-????)

myDate.getMonth(); //獲取當前月份(0-11,0代表1月)

myDate.getDate(); //獲取當前日(1-31)

myDate.getDay(); //獲取當前星期X(0-6,0代表星期天)

myDate.getTime(); //獲取當前時間(從1970.1.1開始的毫秒數)

myDate.getHours(); //獲取當前小時數(0-23)

myDate.getMinutes(); //獲取當前分鍾數(0-59)

myDate.getSeconds(); //獲取當前秒數(0-59)

myDate.getMilliseconds(); //獲取當前毫秒數(0-999)

myDate.toLocaleDateString(); //獲取當前日期

var mytime=myDate.toLocaleTimeString(); //獲取當前時間

myDate.toLocaleString( ); //獲取日期與時間

Date.prototype.isLeapYear 判斷閏年

Date.prototype.Format 日期格式化

Date.prototype.DateAdd 日期計算

Date.prototype.DateDiff 比較日期差

Date.prototype.toString 日期轉字元串

Date.prototype.toArray 日期分割為數組

Date.prototype.DatePart 取日期的部分信息

Date.prototype.MaxDayOfDate 取日期所在月的最大天數

Date.prototype.WeekNumOfYear 判斷日期所在年的第幾周

StringToDate 字元串轉日期型

IsValidDate 驗證日期有效性

CheckDateTime 完整日期時間檢查

daysBetween 日期天數差

㈥ python 求日期

#-*-coding:cp936-*-

#設置星期天的初始值為0
mondays=0
defgetmonthdays(year):
isleapyear=year%400==0or(year%4==0and(notyear%100==0))
ifisleapyear:
return[31,29,31,30,31,30,31,31,30,31,30,31]
return[31,28,31,30,31,30,31,31,30,31,30,31]
#計算1899.12.31(這天是星期天)1901.1.1之間的天數
pastdays=1#1899.12.31過一天是1900.1.1
monthdays=getmonthdays(1900)
formonthinrange(0,12):
pastdays+=monthdays[month]
#計算1901.1.1到2000.12.31星期天的數字
foryearinrange(1901,2001):
monthdays=getmonthdays(year)
formonthinrange(0,12):
ifpastdays%7==0:
mondays+=1
pastdays+=monthdays[month]
print"1901年1月1月至2000年12月31日共有%d個星期天落在每月第一天"%mondays

㈦ Python 日期和時間的幾種輸出格式

time 模塊, datetime模塊 都可以,一種方式是轉化為格式化後的日期格式,也就是說輸出的日期是字元串格式的,當然,如果你希望還是日期類型的話,再轉回日期類型就行了

㈧ python數字怎麼轉變時間

5位數日期戳讀取 .mat 文件處理裡面數據時,發現裡面的日期數據全部都是 「5位數」 數字,很不解;後來查到可以在excel中通過設置單元格調回標准日期格式,如下:選中日期戳,右鍵選擇 「格式化單元格(Format Cells)」選擇需要的日期格式,點擊ok即可通過代碼轉成標准日期例如這個DataFrame中的日期,全部都是「日期戳」格式的,但我需要的是人能看懂的「標准日期」;確認起始日期首先需拿一個「日期戳」對應的時間(標准日期),減去這個日期戳,得出起始時間。獲取起始時間:2018-05-02 對應的日期戳為:43222,接下來通過pandas 的Timedelta()和 to_datetime() 獲取起始時間。可以看到起始日期為「1899-12-30」這樣一來後續日期戳轉標准日期,只需要在 「1899-12-30」 的基礎上加 「日期戳」即可。批量轉換首先定義一個函數用來進行轉換:#定義轉化日期戳的函數,stamp為日期戳def date(stamp):delta = pd.Timedelta(str(stamp)+'D')real_time = pd.to_datetime('1899-12-30') + deltareturn real_time然後針對DataFrame需要轉換的列進行轉換即可:

熱點內容
電影的文件夾都是 發布:2025-01-18 08:21:49 瀏覽:834
post提交php 發布:2025-01-18 08:21:42 瀏覽:460
如何禁止寫入文件夾 發布:2025-01-18 08:21:04 瀏覽:362
360雲盤等待上傳 發布:2025-01-18 08:21:03 瀏覽:795
安卓手機怎麼設置壁紙 發布:2025-01-18 08:20:23 瀏覽:318
如何關閉密碼鎖 發布:2025-01-18 08:18:51 瀏覽:858
我的電腦ftp打不開 發布:2025-01-18 08:18:05 瀏覽:512
手機如何與伺服器端連接的 發布:2025-01-18 08:16:49 瀏覽:45
為什麼安卓手機玩游戲沒有聲音 發布:2025-01-18 08:11:56 瀏覽:420
androidtextview字體 發布:2025-01-18 07:51:18 瀏覽:555