日付・時間
日付や時間はプログラミングでの使用頻度は高い方だと思います。 言語ごとにかなり違いがあるので、調べたりする機会は多々あると思います。
日付の取得方法は下記の通りです。 標準ライブラリである「datetime」を使用しましょう。※標準ライブラリで特定の機能を使用したい場合はこのように「import」を用います。「str('a')」や「int('1')」は「import」を行わずに使うことができます。
# -*- coding: utf-8 -*-
import datetime
today = datetime.date.today()
todaydetail = datetime.datetime.today()
# 今日の日付
print '--------------------------------------------'
print today
print todaydetail
# 今日に日付:それぞれの値
print '--------------------------------------------'
print today.year
print today.month
print today.day
print todaydetail.year
print todaydetail.month
print todaydetail.day
print todaydetail.hour
print todaydetail.minute
print todaydetail.second
print todaydetail.microsecond
# 日付のフォーマット
print '--------------------------------------------'
print today.isoformat()
print todaydetail.strftime("%Y/%m/%d %H:%M:%S")
--実行結果--
-------------------------------------------- 2010-05-08 2010-05-08 15:42:00.731000 -------------------------------------------- 2010 5 8 2010 5 8 15 42 0 731000 -------------------------------------------- 2010-05-08 2010/05/08 15:42:00
日付の計算は「timedelta」を使用します。 「timedelta」は月の日数、うるう年なども気にしないでよいので、自分で計算するより手間を省くことができます。
# -*- coding: utf-8 -*- import datetime today = datetime.datetime.today() # 今日の日付 print today # 明日の日付 print today + datetime.timedelta(days=1) newyear = datetime.datetime(2010, 1, 1) # 2010年1月1日の一週間後 print newyear + datetime.timedelta(days=7) # 2010年1月1日から今日までの日数 calc = today - newyear # 計算結果の戻り値は「timedelta」 print calc.days
--実行結果--
2010-05-08 15:36:24.006000 2010-05-09 15:36:24.006000 2010-01-08 00:00:00 127
その年がうるう年かどうかを判定するには「calendar.isleap」を、指定期間内に何回のうるう年があるかを取得するには「calendar.leapdays」を使用します。
# -*- coding: utf-8 -*- import calendar print calendar.isleap(2015) print calendar.isleap(2016) print calendar.isleap(2017) print calendar.leapdays(2010, 2020)
--実行結果--
False True False 2
配列は絶対必須!
▶基礎編:配列・連想配列
