Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonの基本的な日付と時刻のタイプ


Pythonで日付と時刻を操作するために、datetimeというモジュールがあります。日付と時刻のオブジェクトには2つのタイプがあります。タイプはナイーブで認識しています。

ナイーブオブジェクトには、他の日時オブジェクトからこのオブジェクトを明確に見つけるための十分な情報がありません。このアプローチでは、協定世界時(UTC)を使用します。

認識型オブジェクトには、アルゴリズム的および政治的な時間調整に関するさまざまな情報があります。このタイプのオブジェクトは、特定の瞬間を表すために使用されます。

このモジュールを使用するには、-

を使用してインポートする必要があります
import datetime

このモジュールには、さまざまなクラス、定数、メソッドがあります。

定数は-

です
Sr.No。 定数と説明
1

datetime.MINYEAR

これは、日付または日時オブジェクトとして適用できる最小の年番号です。値は0です

2

datetime.MAXYEAR

これは最大の年番号であり、日付または日時オブジェクトとして適用できます。値は9999です

使用可能なデータ型は-

です
Sr.No。 データ型と説明
1

日付

日付型オブジェクトです。グレゴリオ暦を使用しています。年、月、日の属性があります。

2

時間

時間オブジェクトクラスです。特定の日とは無関係です。時間、分、秒、マイクロ秒、tzinfoの属性があります。

3

日時

日付と時刻を組み合わせたものです。

4

timedelta

2つの日付、時刻、または日時の値の差をミリ秒単位で表すために使用されます。

5

tzinfo

抽象基本クラスです。タイムゾーン情報を保持します。日時クラスと時刻クラスで使用されます。

6

タイムゾーン

このクラスでは、tzinfoを実装します。 UTCからの固定オフセットがあります

日付型オブジェクト

日付オブジェクトは日付を表します。日付には、日、月、年の部分があります。グレゴリオ暦を使用します。このカレンダーによると、1年目の1月1日は1日目と呼ばれます。

日付に関連するメソッドには、次のようなものがあります-

メソッドdate.date(年、月、日)

これは、日付型オブジェクトを作成するためのコンストラクターです。日付を作成するには、すべての引数が整数型データとして必要です。年はMINYEARとMAXYEARの範囲内でなければなりません。指定された日付が有効でない場合、ValueErrorが発生します。

メソッドdate.today()

このメソッドは、現在の現地の日付を返すために使用されます。

メソッドdate.fromtimestamp(timestamp)

このメソッドは、POSIXタイムスタンプから日付を取得するために使用されます。タイムスタンプ値が範囲外の場合、OverflowErrorが発生します。

メソッドdate.fromordinal(ordinal)

このメソッドは、先発グレゴリオ暦の序数から日付を取得するために使用されます。 1年目の1月1日からの日付カウントから日付を取得するために使用されます。

メソッドdate.toordinal()

このメソッドは、先発グレゴリオ暦の序数に日付を返すために使用されます。

メソッドdate.weekday()

このメソッドは、週の日付を日付から整数として返すために使用されます。月曜日は0、火曜日は1などです。

メソッドdate.isoformat()

このメソッドは、日付をISO8601形式の文字列として返すために使用されます。形式はYYYY-MM-DDです。

サンプルコード

import datetime as dt
new_date = dt.date(1998, 9, 5) #Store date 5th septemberm, 1998
print("The Date is: " + str(new_date))
print("Ordinal value of given date: " + str(new_date.toordinal()))
print("The weekday of the given date: " + str(new_date.weekday())) #Monday is 0
my_date = dt.date.fromordinal(732698) #Create a date from the Ordinal value.
print("The Date from ordinal is: " + str(my_date))
td = my_date - new_date #Create a timedelta object
print('td Type: ' + str(type(td)) + '\nDifference: ' + str(td))

出力

The Date is: 1998-09-05
Ordinal value of given date: 729637
The weekday of the given date: 5
The Date from ordinal is: 2007-01-22
td Type: <class 'datetime.timedelta'>
Difference: 3061 days, 0:00:00

時間オブジェクト

時間オブジェクトは現地時間を表します。時間には、時、分、マイクロ秒、tzinfoの部分があります。時間は0から24の範囲になり、分と秒は0から60の範囲になり、マイクロ秒は0から1000000の範囲になります。

時間に関連するいくつかの方法は

メソッドtime.fromisoformat(time_string)

このメソッドは、ISO8601文字列から時間を取得するために使用されます。 time.isoformat()メソッドの出力のいずれかを取ることができます。

メソッドtime.replace(hour =self.hour、minute =self.minute、second =self.second、microsecond =self.microseconds、tzinfo =self.tzinfo、* fold =0)

このメソッドは、引数から値を取得して時間を返すために使用されます。引数が渡されない場合は、同時にオブジェクト値が返されます。

メソッドtime.tzname()

このメソッドは、タイムゾーンの名前を返すために使用されます。 tzinfoがNoneの場合、Noneを返します。

日時オブジェクト

datetimeオブジェクトは、日付と時刻の両方を保持します。日付オブジェクトとしてはグレゴリオ暦をサポートし、時間オブジェクトとしては1日あたり正確に3600*24秒を保持します。

日付と時刻に関連するすべてのメソッドをサポートします。一部のメソッドは日時にも存在します。これらは-

のようなものです

メソッドdatetime.now(tz =None)

このメソッドは、現在の日付と時刻を取得するために使用されます。 tzが存在しないか、Noneの場合、today()メソッドのように日付が返されます。

メソッドdatetime.utcnow()

このメソッドは、現在のUTC日時関連情報を取得するために使用されます。

strftime()とstrptime()と呼ばれる別の2つのメソッドがあります。これらのメソッドは、日時オブジェクトだけでなく、日時オブジェクトにも適用できます。

メソッドdatetime.strftime(format [、t])

strftime()メソッドは、gmtime()またはlocaltime()によって返される時間を表すタプルまたはstruct_timeを、format引数で指定された文字列に変換します。 tが指定されていない場合、localtime()によって返される現在の時刻が使用されます。 formatは文字列でなければなりません。 tのいずれかのフィールドが許可された範囲外の場合、例外ValueErrorが発生します。

メソッドdatetime.strftime(format [、t])

strptime()メソッドは、形式に従って時間を表す文字列を解析します。戻り値は、gmtime()またはlocaltime()によって返されるstruct_timeです。 formatパラメータは、strftime()で使用されるものと同じディレクティブを使用します。デフォルトは「%a%b%d%H:%M:%S%Y」で、これはctime()によって返されるフォーマットと一致します。

これらの2つのメソッドは、いくつかのディレクティブを使用します。それらのいくつかを以下に示します-

Sr.No。 ディレクティブと説明
1

%A

完全な平日の名前

2

%B

完全な月の名前

3

%d

月の日(0から31)

4

%S

2番目

5

%G

4桁の年、ISOの週番号に対応

6

%m

月(1〜12)

7

%M

8

%T

現在の時刻、%H:%M:%S

に等しい
9

%W

今年の週番号。最初の週の最初の日として最初の月曜日から始まります

10

%w

小数としての曜日、日曜日=0

11

%Y

世紀を含む年

12

%Zまたは%z

タイムゾーンまたは名前または略語

サンプルコード

import datetime as dt
my_date1 = dt.datetime(2015, 1, 4) #Storing the date 4th Jan, 2015
print(my_date1)
print('The Weekday of that day was: ' + my_date1.strftime('%A'))
my_date2 = dt.datetime.strptime('August-15-2017', '%B-%d-%Y') #Storing the date 15th Aug, 2017
print(my_date2)
print('The Weekday of that day was: ' + my_date2.strftime('%A'))
print('The difference between two days: ' + str(abs(my_date1 - my_date2)))

出力

2015-01-04 00:00:00
The Weekday of that day was: Sunday
2017-08-15 00:00:00
The Weekday of that day was: Tuesday
The difference between two days: 954 days, 0:00:00

  1. OneNoteに日付と時刻を追加する方法

    OneNoteで新しいページを作成する場合 、日付とタイムスタンプがノートブックに自動的に追加されます。ノートブックで自動日付と時刻を編集し、OneNoteで提供されるタイムスタンプ機能を使用してページに日付と時刻を追加できます。また、現在と過去の日付をノートブックに追加したり、特定の日付をページに入力して、休日を追跡したりするなど、いくつかのイベントを追跡することもできます。 OneNoteに日付と時刻を挿入する方法 タイムスタンプは、ユーザーがノートブックページに時刻と日付を追加できるようにするOneNoteの機能です。 Onenoteで提供されるタイムスタンプの種類は次のとおりです。

  2. Pythonでのベクトル化

    この記事では、Python3.xを使用した実装に関連するベクトル化とさまざまな手法について学習します。またはそれ以前。 ベクトル化とは何ですか? ベクトル化は、ループを使用せずに配列を実装する手法です。代わりに関数を使用すると、コードの実行時間と実行時間を効率的に最小化するのに役立ちます。さまざまな演算が、ベクトルの内積などの配列ではなく、ベクトルに対して実行されています。これは、単一の出力を生成するため、スカラー積とも呼ばれます。外部積は、ベクトルの(長さXの長さ)に等しい次元の二乗行列になります。要素同じインデックスの要素と行列の次元を積む賢明な乗算は変更されません。 内積/内積