python calendar標準庫基礎學習

來源:互聯網
上載者:User

標籤:

# -*- coding: utf-8 -*-
# 作者:新手
__author__ = ‘Administrator‘
#標準庫:日期時間基礎學習:calendar:處理日期
#例1
import calendar
c=calendar.TextCalendar(calendar.SUNDAY)
c.prmonth(2015,3)
#prmonth()簡單函數,產生一個月的格式檔案輸出
#TextCalendar()從星期天(為第一天,因為老外是從星期天開始算第一天的)
#利用HTMLCalendar和formatmonth()可以產生一個類似html表格,顯示的和純文字版本大致同樣
c=calendar.HTMLCalendar(calendar.SUNDAY)
print c.formatday(7,0)
#不過會用html標記包圍,各個表儲存格有一個類屬性對應星期幾,所以可能通過css指定html樣式
"""
要使用可用預設格式之外的某種格式產生輸出,可以使用calendar計算日期,並把這些值 組織為周和月,然後迭代處理結果,對於這樣的任務,它有以下幾個屬性可以使用:
    weekheader(),MONTHCALENDAR(),(特別有用的:yeardays2calendar(),它會產生一個由<月欄>列表構成的序列,每個列表包含一個月,每個月是一個周列表,周是元組列表,元組由編號(1~31)和星期幾(1~6)構成,當月以外的日編號為0)
"""
import pprint
c=calendar.Calendar(calendar.SUNDAY)
data=c.yeardays2calendar(2015,3)
print ‘len(data)          :‘,len(data)
top=data[0]
print‘len(top)            :‘,len(top)
mont=top[0]
print ‘len(mont)          :‘,len(mont)
print ‘mont:‘
pprint.pprint(mont)
#這等價於formatyear()方式
c=calendar.TextCalendar(calendar.SUNDAY)
print c.formatyear(2015,3,1,0)
#day_name,day_abbr,month_name,month_abbr模組屬性對於產生定製格式輸出很有用(如html輸出包含的連結),這些屬性會針對當前本地化環境正確的地處配置

#計算日期
#計算中某一天的事件
print u‘計算日期:\n‘
pprint.pprint(calendar.monthcalendar(2015,3))
#有些日期值為0,說明儘管這幾天屬性另一個月,但與給定的當前月中的幾天屬於同一個星期

#一周中的第一天預設認為是星期一,可以通過使用setfirstweekday()來改變這個設定,不過由於calenday模組包含了一些常用來索引monthcalendar()返回的日期區間,所以在這片情況下路過這一步會更加方便
#例3
for m in range(1,13):
    c=calendar.monthcalendar(2015,m)
    first_week=c[0]
    second_week=c[1]
    third_week=c[2]
    if first_week[calendar.THURSDAY]:
        data1=second_week[calendar.THURSDAY]
    else:
        data1=third_week[calendar.THURSDAY]
    print ‘%3s :%2s‘%(calendar.month_abbr[m],data1)

#calendar官方標準庫地址:https://docs.python.org/2.7/library/calendar.html?highlight=calendar#module-calendar

 

python calendar標準庫基礎學習

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.