c datetime tutorial
このチュートリアルでは、C#DateTimeクラスについてすべて説明します。タイマー、ストップウォッチ、スリープメソッドを含むC#DateTime形式の操作方法を学習します。
時間と日付は、いくつかのソフトウェアプロジェクトで広く使用されています。さまざまなプログラムを作成するときに、日付と時刻のオブジェクトを処理することがよくあります。
日時には、現在の日時の取得、変数/ファイル名へのタイムスタンプの追加、検証のための日時の使用など、さまざまなアプリケーションがあります。非常に多くのアプリケーションを使用すると、プログラマにとって日時オブジェクトの重要性を簡単に推測できます。
=> ここで詳細なC#トレーニングチュートリアルを確認してください
学習内容:
- C#DateTimeオブジェクトを初期化する方法は?
- DateTimeオブジェクトのプロパティ
- 日付の書式設定とは何ですか?
- 現在の日時を取得する方法は?
- C#タイマー
- C#ストップウォッチ
- 睡眠方法とは?
- 結論
- 推奨読書
C#DateTimeオブジェクトを初期化する方法は?
DateTimeは、System名前空間の構造体です。これは、プログラマーがシステムの日付、時刻、月、年、さらには曜日に関する情報を取得するのに役立ちます。また、ユーザーは取得した日時値に対して操作を実行できます。
新しいDateTimeオブジェクトを初期化して、簡単なプログラムを見てみましょう。新しいオブジェクトを初期化するときは、日付値を設定するために特定のパラメーターを渡す必要があります。
namespace ConsoleApp1 { class Program { static void Main(string() args) { // year, month, date DateTime dt = new DateTime(2018, 11, 05); Console.WriteLine(dt.ToString()); Console.ReadLine(); } } }
ここでは、日付を05、月を11、年を2018として渡しました。これにより、データ時間インスタンスが指定されたパラメーターに設定されます。初期化後、初期化されたオブジェクトを文字列に変換してコンソールに出力しました。
上記のプログラムの出力は次のようになります。
11/5/2018 12:00:00 AM
上記の出力では、時間値を指定していないため、DateTimeオブジェクトがデフォルトの時間を使用していることがわかります。
DateTimeオブジェクトのプロパティ
DateTimeオブジェクトは、ユーザーが日付と時刻オブジェクトに関するデータを取得するのに役立つさまざまなプロパティを提供します。
ここでは、いくつかの重要な日時プロパティについて説明します。
日
Dayプロパティは、日時オブジェクトの設定された日付を取得します。整数値を返し、引数を受け入れません。
構文:
int date = dt.Day;
月
Monthプロパティは、日時オブジェクトの設定された月を取得します。整数値を返し、引数を受け入れません。
構文:
int month = dt.Month;
年
Yearプロパティは、日時オブジェクトの設定された年を取得します。整数値を返し、引数を受け入れません。
構文:
int yr = dt.Year;
曜日
Day of the weekプロパティは、設定された日時オブジェクトから曜日の整数値を取得します。また、整数値を受け入れるためにキャストする必要があります。それはいかなる議論も受け入れません。
構文:
int dayWeek = (int)dt.DayOfWeek;
年の日
Day of yearプロパティは、date-timeオブジェクトの日付の設定値から曜日を取得します。整数値を返し、引数を受け入れません。
構文:
int dayYear = dt.DayOfYear;
時間
Dayプロパティは、日時オブジェクトの設定された日付を取得します。整数値を返し、引数を受け入れません。
構文:
int hour = dt.Hour;
分
Minプロパティは、日時オブジェクトの設定された日付から分の値を取得します。整数値を返し、引数を受け入れません。
構文:
int min = dt.Minute;
2番目
Secondプロパティは、日時オブジェクトの設定値から2番目の値を取得します。整数値を返し、引数を受け入れません。
構文:
int sec = dt.Second;
これらの値を取得するための簡単なプログラムを見てみましょう。
namespace ConsoleApp1 { class Program { static void Main(string() args) { // year, month, date DateTime dt = new DateTime(2018, 11, 05); int date = dt.Day; int month = dt.Month; int yr = dt.Year; int dayWeek = (int)dt.DayOfWeek; int dayYear = dt.DayOfYear; int hour = dt.Hour; int min = dt.Minute; int sec = dt.Second; Console.WriteLine(date); Console.WriteLine(month); Console.WriteLine(yr); Console.WriteLine(dayWeek); Console.WriteLine(dayYear); Console.WriteLine(hour); Console.WriteLine(min); Console.WriteLine(sec); Console.ReadLine(); } } }
上記のプログラムの出力は次のようになります。
日付:5
月:11
年:2018
曜日:1
年間通算日:309
時間:0
分:0
2番目:0
上記のプログラムでは、日付の値を2018年5月11日に設定しています。したがって、システムが同じ値をフェッチしたことがわかりますが、時間部分を見ると、デフォルト値は0であることがわかります。これは、時間値を設定していないため、システムが自動的にデフォルト値を割り当てたためです。時間、分、秒に。
日付の書式設定とは何ですか?
アプリケーションやプログラマーが異なれば、使用するために異なる形式の日付が必要になる場合があります。したがって、日付の書式設定は、さまざまな要件に合わせて日付を書式設定するために使用されます。 DateTimeには、日付を目的の形式で取得するためのさまざまな形式オプションも用意されています。
希望する日付の形式を提供するように指定されたさまざまな指定子があります。ここでは、人気のあるもののいくつかについて説明します。
短時間フォーマット
AMまたはPMの接尾辞が付いた時間と分の単純な時間形式が表示されます。小さな場合は「t」で表されます。
アンドロイドのための良い無料の音楽ダウンローダー
出力形式は次のようになります:12:00 PM
ロングタイムフォーマット
AMまたはPMの接尾辞が付いた時間、分、秒の拡張時間形式が表示されます。大文字の「T」で表されます。
出力形式は次のようになります:12:13:12 PM
短い日付
単純な日付形式をMM / DD / YYYY形式で表示します。小さな場合はアルファベットの「d」で示されます。
出力形式は次のようになります:2018年11月5日
長い日付
日、月、日、年の拡張日付形式が表示されます。大文字のアルファベット「D」で表されます。
出力形式は次のようになります:2018年11月5日月曜日
日/月
日付と月の日付形式が表示されます。年の詳細は含まれていません。大文字のアルファベット「M」で表されます。
出力形式は次のようになります:11月5日
月/年
月と年の日付形式が表示されます。日付の詳細は含まれていません。大文字のアルファベット「Y」で表されます。
出力形式は次のようになります:2018年11月
簡単なプログラムを使用して、これらを詳しく見ていきましょう。
namespace ConsoleApp1 { class Program { static void Main(string() args) { // year, month, date DateTime dt = new DateTime(2018, 11, 05); //short time Console.WriteLine('Short time : {0}',dt.ToString('t')); //Long Time Console.WriteLine('Long time : {0}', dt.ToString('T')); //Short Date Console.WriteLine('Short Date : {0}', dt.ToString('d')); //Long Date Console.WriteLine('Long date : {0}', dt.ToString('D')); //Day / Month Console.WriteLine('Day with month : {0}', dt.ToString('M')); //Month / Year Console.WriteLine('Month with year : {0}', dt.ToString('Y')); Console.ReadLine(); } } }
上記のプログラムの出力は次のようになります。
短時間:12:00 AM
長時間:12:00:00 AM
短い日付:2018年11月5日
長い日付:2018年11月5日月曜日
月のある日:11月5日
年のある月:2018年11月
上記のプログラムでは、最初の行の日付の値を初期化してから、同じ値を使用して異なる形式を取得しようとしました。
現在の日時を取得する方法は?
DateTimeオブジェクトには、システム時刻にアクセスするためのさまざまなメソッドが含まれています。 「Now」メソッドを使用すると、現在のシステムの時刻/日付を取得でき、さらに操作することもできます。
現在の時刻を取得するための構文は次のとおりです。
DateTime today = DateTime.Now;
定義してDateTimeオブジェクトに保存したら。これを文字列に簡単に変換して現在の日時を取得したり、上記の指定子を使用して日付の形式を変更したりすることもできます。
C#タイマー
C#のタイマーを使用すると、プログラマーは時間間隔を設定して、特定のコードまたは命令のセットを繰り返し実行できます。アプリケーションの仕様で、特定の間隔ごとにイベントを実行する必要がある場合に非常に役立ちます。
例えば、 データバックアップアプリケーションの実装中。
タイマーを実装するための簡単なプログラムを見てみましょう。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.IO; using System.Collections; using System.Timers; namespace ConsoleApp1 { class Program { private static Timer timer; static void Main(string() args) { timer = new System.Timers.Timer(); timer.Interval = 2000; timer.Elapsed += OnTimerEvent; timer.AutoReset = true; timer.Enabled = true; Console.WriteLine('The timer will start logging now... '); Console.ReadLine(); } private static void OnTimerEvent(Object source, System.Timers.ElapsedEventArgs e) { Console.WriteLine('Time logged: {0}', e.SignalTime.ToString('T')); } } }
したがって、このプログラムを実行すると、2秒ごとに時間を記録し続けます。
上記のプログラムでは、最初にSystem.Timerを初期化しました。次に、タイマーの間隔時間を設定します。ここでは、間隔を2000ミリ秒に保っています。要件に応じて、任意の実装を提供できます。時間間隔が経過したら、メソッドを呼び出して命令を実行する必要があります。
ここでは、2秒ごとに「OnTimerEvent」を呼び出しました。このメソッドは2つのパラメーターを受け入れます。最初のパラメーターは「オブジェクト」で、もう1つは「ElapsedEventArgs」です。
また、タイマーが間隔に達するたびにタイマーをリセットする必要があり、タイマーを有効にする必要もあります。したがって、自動リセットとタイマーイネーブルの両方がtrueとしてマークされます。次に、カスタムメッセージをコンソールに書き込み、readlineを追加して、ユーザーが介入するまでコンソールが開いたままになるようにします。
C#ストップウォッチ
ストップウォッチはC#で時間を測定するために使用されます。これは、コードの最適化中にコードのパフォーマンスをベンチマークするのに非常に役立ちます。コード/アプリケーションのパフォーマンスを継続的に監視し、パフォーマンスの低下をチェックするために使用できます。
ストップウォッチは、イベント中に経過した時間を正確に測定でき、プログラム内のイベントのタイミングを計るのに最適です。ストップウォッチクラスはSystem.Diagnostics名前空間で定義されており、使用するにはインスタンス化する必要があります。これにより、マルチスレッドを必要とするアプリケーションに非常に役立ちます。イベント呼び出しは、thread.sleepメソッドを使用して実行できます。
睡眠方法とは?
sleepメソッドは、実行中のスレッドを特定の期間一時停止するために使用されます。ミリ秒単位の時間を受け入れます。スリープは、1つのスレッドを停止して、他のスレッドが実行を完了するための道を開くマルチスレッド環境で非常に役立ちます。
C#Sleepメソッドの構文は次のとおりです。
System.Threading.Thread.Sleep(1000);
今、私たちは睡眠と他のストップウォッチクラスについて学びました。
物事をより明確に理解するための簡単なストップウォッチプログラムを作成しましょう。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Threading; using System.Diagnostics; namespace ConsoleApp1 { class Program { static void Main(string() args) { Console.WriteLine('Press Enter to start the stopwatch'); Console.ReadLine(); // Create a new Stopwatch. var stopwatch = Stopwatch.StartNew(); Console.WriteLine('Stopwatch started...'); Console.WriteLine('Press Enter to stop the stopwatch and show time'); Console.ReadLine(); // Write result. Console.WriteLine('Time elapsed: {0}', stopwatch.Elapsed); Console.ReadLine(); } } }
出力
上記のプログラムの出力は次のようになります。
最後の行は、ストップウォッチの開始から停止までの経過時間を示しています。
上記のプログラムでは、Stopwatchクラスのインスタンスを格納する変数stopwatchを定義しました。 StartNew()メソッドを使用しました。 startnewメソッドは、呼び出されるたびに新しいインスタンスを作成するため、ストップウォッチを最初から開始する場合に非常に便利です。
ストップウォッチのElapsedプロパティを使用すると、ユーザーは実行の期間を記録できます。結局、経過時間をコンソールに出力するだけでした。
結論
日時、タイマー、スリープ、ストップウォッチはすべて、さまざまな目的を満たすためにC#プログラミング言語で使用されます。 DateTimeオブジェクトは、システムの日付と時刻に関する情報を収集したり、特定のアプリケーション要件に使用するカスタムの日付と時刻を設定したりするために使用されます。
一方、タイマーは、特定のコマンドまたはイベントの実行間の時間間隔を設定するために使用されます。
スリープはSystem.Threadingの一部であり、特定の時間間隔で実行を一時停止または停止するために使用されます。これにより、プログラマーは、前のスレッドが一時停止している間に、マルチスレッド環境で別のスレッドを開始できます。
ストップウォッチは、特定のイベントの実行に費やされたパフォーマンスまたは時間を測定するために使用できます。アプリケーションのパフォーマンスをチェックするために使用できる経過時間またはティックの正確な測定値を提供できます。
=> ここでC#トレーニングチュートリアルのシリーズ全体を探索する