Python-data-science-python-date-and-time

提供:Dev Guides
移動先:案内検索

Python-日付と時刻

多くの場合、データサイエンスでは、一時的な値に基づいた分析が必要です。 Pythonは、さまざまな形式の日付と時刻を適切に処理できます。 datetime ライブラリは、次のシナリオを処理するために必要なメソッドと機能を提供します。

  • 日時表現
  • 日付時刻演算
  • 日時比較

それらを一つ一つ研究していきます。

日時表現

日付とそのさまざまな部分は、異なる日時関数を使用して表されます。 また、月の名前や曜日など、日付のアルファベット部分を表示する役割を果たすフォーマット指定子があります。 次のコードは、今日の日付と日付のさまざまな部分を示しています。

import datetime

print 'The Date Today is  :', datetime.datetime.today()

date_today = datetime.date.today()
print date_today
print 'This Year   :', date_today.year
print 'This Month    :', date_today.month
print 'Month Name:',date_today.strftime('%B')
print 'This Week Day    :', date_today.day
print 'Week Day Name:',date_today.strftime('%A')

上記のコードを実行すると、次の結果が生成されます。

The Date Today is  : 2018-04-22 15:38:35.835000
2018-04-22
This Year   : 2018
This Month    : 4
Month Name: April
This Week Day    : 22
Week Day Name: Sunday

日付時刻演算

日付を含む計算では、さまざまな日付を変数に保存し、関連する数学演算子をこれらの変数に適用します。

import datetime

#Capture the First Date
day1 = datetime.date(2018, 2, 12)
print 'day1:', day1.ctime()

# Capture the Second Date
day2 = datetime.date(2017, 8, 18)
print 'day2:', day2.ctime()

# Find the difference between the dates
print 'Number of Days:', day1-day2


date_today  = datetime.date.today()

# Create a delta of Four Days
no_of_days = datetime.timedelta(days=4)

# Use Delta for Past Date
before_four_days = date_today - no_of_days
print 'Before Four Days:', before_four_days

# Use Delta for future Date
after_four_days = date_today + no_of_days
print 'After Four Days:', after_four_days

上記のコードを実行すると、次の結果が生成されます。

day1: Mon Feb 12 00:00:00 2018
day2: Fri Aug 18 00:00:00 2017
Number of Days: 178 days, 0:00:00
Before Four Days: 2018-04-18
After Four Days: 2018-04-26

日時比較

日付と時刻は、論理演算子を使用して比較されます。 ただし、日付の適切な部分を互いに比較する際には注意が必要です。 以下の例では、未来と過去の日付を取得し、python if句と論理演算子を使用してそれらを比較します。

import datetime

date_today  = datetime.date.today()

print 'Today is: ', date_today
# Create a delta of Four Days
no_of_days = datetime.timedelta(days=4)

# Use Delta for Past Date
before_four_days = date_today - no_of_days
print 'Before Four Days:', before_four_days

after_four_days =  date_today + no_of_days

date1 = datetime.date(2018,4,4)

print 'date1:',date1

if date1 == before_four_days :
    print 'Same Dates'
if date_today > date1:
    print 'Past Date'
if date1 < after_four_days:
    print 'Future Date'

上記のコードを実行すると、次の結果が生成されます。

Today is:  2018-04-22
Before Four Days: 2018-04-18
date1: 2018-04-04
Past Date
Future Date