スポンサーリンク
※サイト運営にサーバーは必須です※
~ ロリポップ! はコスパのよい初心者向けサーバーです~
DateTime型の宣言の仕方
DateTime型を宣言する際は、以下の3パターンがよく使われます。
DateTime 日付名 = new DateTime(年,月,日);
DateTime 日付名 = new DateTime(年,月,日,時,分,秒);
DateTime 日付名 = new DateTime(年,月,日,時,分,秒,ミリ秒);
ソースコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DateTime03 { class Program { static void Main(string[] args) { //(年,月,日) DateTime dt1 = new DateTime(2017, 7, 20); Console.WriteLine(dt1); //(年,月,日,時,分,秒) DateTime dt2 = new DateTime(2017, 7, 20, 8, 20, 30); Console.WriteLine(dt2); //(年,月,日,時,分,秒,ミリ秒) DateTime dt3 = new DateTime(2017, 7, 20, 8, 20, 30, 70); Console.WriteLine(dt3.ToString("yyyy/MM/dd HH:mm:ss.FFF")); } } } |
実行結果
2017/07/20 0:00:00
2017/07/20 8:20:30
2017/07/20 08:20:30.07
※70ミリ秒なので、0.07秒に相当します。
※「yyyy」(年)や「MM」(月)は、書式指定子と呼ばれます。詳しく知りたい場合は、次の記事を参照してください。
値の取り出し方
DateTime型で扱っている情報の一部を取り出したい場合があります。
取り出す方法は主に2つあります。
1:書式指定して、DateTime型をstring型に変換する。
2:DateTime型のプロパティを利用して、値をint型として取り出す。
どちらかの方法が優れているというわけではありません。
しいて言えば、DateTime型を最終的に文字として扱うなら、1番目の方法が便利です。
一方、DateTime型を数値として扱い計算などを行うなら、2番目に方法が便利です。
とはいえ、int型とstring型との間で型変換できるので、2つの方法の使い分けを深く考えなくてもいいでしょう。
ソースコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DateTime04 { class Program { static void Main(string[] args) { DateTime dt = System.DateTime.Now; //書式指定して、DateTime型をstring型に変換する //「$」はC#6.0の文字列補間(String interpolation)。使いたくない場合は以下のように書きます //string txt_year = string.Format("{0:yyyy}",dt); string txt_year = string.Format($"{dt:yyyy}"); string txt_month = string.Format($"{dt:MM}"); string txt_day = string.Format($"{dt:dd}"); string txt_hour = string.Format($"{dt:HH}"); string txt_minute = string.Format($"{dt:mm}"); string txt_second = string.Format($"{dt:ss}"); string txt_milisecond = string.Format($"{dt:FFF}"); Console.WriteLine(txt_year + "/" + txt_month + "/" + txt_day + " " + txt_hour + ":" + txt_minute + ":" + txt_second + "." + txt_milisecond); //DateTime型のプロパティを利用して、値をint型として取り出す int year = dt.Year; int month = dt.Month; int day = dt.Day; int hour = dt.Hour; int minute = dt.Minute; int second = dt.Second; int milisecond = dt.Millisecond; Console.WriteLine(year + "/" + month + "/" + day + " " + hour + ":" + minute + ":" + second + $".{milisecond:000}"); } } } |
実行結果
2017/07/27 21:56:39.577
2017/7/27 21:56:39.577
上でも述べたが、「dd」(日)は書式指定子と呼ばれるものです。
この書式指定子を用いて、表示する文字列を定めています。
「Year」「Month」「Day」「Hour」「Minute」「Second」「Millisecond」は、DateTime側で用意されているプロパティです。
このプロパティを利用することで、対応したint型を得ることができます。
関連記事
~ギャンブルに絶対儲かる必勝法があるのだろうか?~
私(サイト主)はこの疑問に対して非常に興味を持ち、プログラミングで検証してみました。
このサイトを応援してもいいかなと思う人はぜひとも購入を検討してみてください。