1. 程式人生 > >python時間處理之date

python時間處理之date

#!/usr/bin/python
# -*- coding:utf-8 -*-
"""
date的用法 (test_datetime.py)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Created by bixiaofan <[email protected]> on 2018/1/24 at 上午9:46
"""

import time

from datetime import date


def test_datetime_date():
    #### 1. date常用的類方法和類屬性

    # date物件所能表示的最大日期:9999-12-3
    assert str(date.max) == "9999-12-31"
    # date物件所能表示的最小日期: 0001-01-01
    assert str(date.min) == "0001-01-01"
    # 返回一個表示當前本地日期的date物件: 2012-09-12
    print('date.today(): {}'.format(date.today()))
    # 將Gregorian日曆時間轉換為date物件(Gregorian Calendar :一種日曆表示方法,類似於我國的農曆,西方國家使用比較多):
    # 1347442385.972轉換為2012-09-12
    print('date.fromtimestamp(): {}'.format(date.fromtimestamp(time.time())))

    #### 2. date提供的例項方法和屬性

    # 獲得年 月 日
    now = date(2012, 9, 17)
    assert now.year == 2012
    assert now.month == 9
    assert now.day == 17

    # date.replace(year, month, day):生成一個新的日期物件
    # 用引數指定的年,月,日代替原有物件中的屬性。(原有物件仍保持不變)
    tomorrow = now.replace(day=18)
    nextmonth = now.replace(month=10)
    nextyear = now.replace(year=2013)

    assert str(tomorrow) == "2012-09-18"
    assert str(nextyear) == "2013-09-17"
    assert str(nextmonth) == "2012-10-17"

    # 返回星期幾,星期一 ==0 ... 星期天  == 6
    assert now.weekday() == 0

    # 返回標準的星期幾,星期一 ==1 ... 星期天  == 7
    assert now.isoweekday() == 1

    # 返回格式如(year,month,day)的元組;
    assert now.isocalendar() == (2012, 38, 1)

    # 返回格式如'YYYY-MM-DD’的字串;
    assert str(now.isoformat()) == '2012-09-17'

    #### 3. 日期操作
    now = date.today()  # 今天
    tomorrow = now.replace(day=now.day + 1)  # 明天
    print("now: {} tomorrow: {}".format(now, tomorrow))

    # 計算出間隔時間
    delta = tomorrow - now
    assert str(delta) == "1 day, 0:00:00"
    assert now + delta == tomorrow
    assert tomorrow > now

相關推薦

python時間處理date

#!/usr/bin/python # -*- coding:utf-8 -*- """ date的用法 (test_datetime.py) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Created by bix

sandglass(沙漏)——一個讓人解脫的python時間處理

blank git over google nco trac 通過 對象 pytho 在遊戲開發的過程中頻繁的須要跟時間相關的做處理。而python內置了好多個時間處理庫,datetime/date/time/calendar/timedelta等,細節繁多略具迷惑

python時間處理

相差 日期 clas 英文月份 字符 bsp 開始 post print 一:字符串和時間序列轉化 time.strptime():字符串=>時間排序 time.strftime():時間序列=>字符串 import time start="2017-01-01

Python資料處理(三)Numpy建立array

一、關鍵字 array:建立陣列 dtype:指定資料型別 zeros:建立資料全為0 ones:建立資料全為1 empty:建立資料接近0 arrange:按指定範圍建立資料 linspace:建立線段

Python資料處理(二)Numpy屬性

簡單介紹一下numpy中常見的三個屬性: ndim:    維度 shape:  行數和列數 size:     元素個數 使用numpy首先要匯入模組,為了方便

Python資料處理(一)為什麼要學習 Numpy & Pandas?

今天我們介紹兩個科學運算當中最為重要的兩個模組,一個是numpy,一個是 pandas。任何關於資料分析的模組都少不了它們兩個。 一、主要用途: 資料分析 機器學習 深度學習 二、為什麼使用 numpy & pandas

Python資料處理(四)numpy基礎運算1

一、一維矩陣的基礎運算 下例中 a和b是兩個屬性為array也就是矩陣的變數,而且二者都是1行4列的矩陣, 其中b矩陣中的元素分別是從0到3。 如果我們想要求兩個矩陣之間的減法,你可以嘗試著輸入:a-b,得到的結果是對應元素相減的結果也就是[10 19 28 37],同理元素的相加相

Python資料處理(七)Numpy array 合併

一、np.vstack() 對array的合併,我們可以想到按行、按列等多種方式進行合併。 vertical stack本身屬於一種上下合併,即對括號中的兩個整體進行對應操作。 >>> import numpy as np >>> A=np.a

Python資料處理(十 一)Pandas 選擇資料

首先先建立一個6X4的矩陣 >>> import pandas as pd >>> import numpy as np >>> dates=pd.date_range('20181121',periods=6) >>

Python資料處理(十)Pandas 基本介紹

一、Numpy 和 Pandas 有什麼不同 如果用 python 的列表和字典來作比較, 那麼可以說 Numpy 是列表形式的,沒有數值標籤,而 Pandas 就是字典形式。Pandas是基於Numpy構建的,讓Numpy為中心的應用變得更加簡單。 要使用pandas,首先需要

Python資料處理(九)Numpy copy & deep copy

一、= 的賦值方式會有關聯性 首先匯入numpy並建立變數a,b,c,d >>> import numpy as np >>> a=np.arange(4) >>> print(a) [0 1 2 3] >>>

Python資料處理(八)Numpy array分割

一、建立資料 匯入模組並建立3行4列的Array >>> import numpy as np >>> A=np.arange(12).reshape((3,4)) >>> print(A) [[ 0 1 2 3] [

Python資料處理(六)numpy索引

一、一維索引 在元素列表或者陣列中,我們可以用如同a[2]一樣的索引方法,同樣的,在Numpy中也有相對應的表示方法。 >>> import numpy as np >>> A=np.arange(3,15) >>> prin

Python資料處理(五)numpy基礎運算2

通過上一節的學習,我們可以瞭解到一部分矩陣中元素的計算和查詢操作。然而在日常使用中,對應元素的索引也是非常重要的。依然,讓我們先從一個指令碼開始 : >>> import numpy as np >>> A=np.arange(2,14).resh

Python資料處理(十 五)Pandas 合併concat

一、要點 pandas處理多組資料的時候往往會要用到資料的合併處理,使用 concat是一種基本的合併方式.而且concat中有很多引數可以調整,合併成你想要的資料形式. 二、axis(合併方向) axis=0是預設值,因此未設定任何引數時,函式預設axis=0。 >

Python資料處理(十 八)10分鐘搞定matplotlib

Matplotlib 簡介 1.1 為什麼用 Matplotlib 1.2 Matplotlib 安裝 基本使用 2.1 基本用法 2.2 figure 影象 2.3 設定座標軸1 2.4 設定座標軸2 2.5 Legend 圖例 2.6 Annota

Python資料處理(十 七)Pandas plot畫圖

這次我們講如何將資料視覺化. 首先import我們需要用到的模組,除了 pandas,我們也需要使用 numpy 生成一些資料,這節裡使用的 matplotlib 僅僅是用來 show 圖片的, 即 plt.show()。 import pandas as pd import num

Python資料處理(十 六)Pandas 合併merce

要點 pandas中的merge和concat類似,但主要是用於兩組有key column的資料,統一索引的資料. 通常也被用在Database的處理當中. 依據一組key合併 import pandas as pd #定義資料集並打印出 left = pd.DataFrame({

Python資料處理(十 四)Pandas 匯入匯出

pandas可以讀取與存取的資料格式有很多種,像csv、excel、json、html與pickle等…, 詳細請看官方說明檔案 一、讀取csv 下面的例子假設當前路徑中有xxx.csv檔案: >>> import pandas as pd >>

Python資料處理(十 三)Pandas 處理丟失資料

建立含 NaN 的矩陣 有時候我們匯入或處理資料, 會產生一些空的或者是NaN資料,如何刪除或者是填補這些 NaN 資料就是我們今天所要提到的內容. 建立了一個6X4的矩陣資料並且把兩個位置置為空. >>> dates=pd.date_range('20181