C#におけるシステム日付の取得とは?年・月・日・時・分・秒・ミリ秒を取得とシステム日付のフォーマット変換

- システム
エンジニア - C#でシステム日付を取得するにはどうすればいいのですか。
- プロジェクト
マネージャー - それでは、今回はC#のシステム日付の取得、使用方法についてご紹介しましょう。
C#におけるシステム日付の取得とは?
プログラムを作成するうえで現在の日付や時刻、すなわちシステム日付を利用する場面に出くわす時があります。C#ではDateTime構造体のNowプロパティを使うことで、システム日付を取得できます。
この記事ではC#におけるシステム日付の取得から、年・月・日・時刻などの情報、yyyy/MM/dd形式などのフォーマット変換の方法も紹介しますので、C#のシステム日付の取得に興味がある方はぜひご覧ください。
C#でシステム日付を取得する方法
システム日付を取得するプロパティ
C#でシステム日付を取得するには、冒頭でも紹介したようにDateTime構造体のNowプロパティを使います。戻り値はDateTime型です。
1 2 3 |
DateTime.Now |
DateTime.Nowプロパティは、ローカルコンピュータ上の現在の日付と時刻を表す値を返します。
DateTime.Nowプロパティを使用し、戻り値をコンソール表示するサンプルプログラムです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
using System; namespace Sample { class Sample { static void Main() { // DateTime.Nowをコンソール表示する DateTime dt = DateTime.Now; Console.WriteLine("現在の日時:" + dt); } } } |
実行結果が次のように出力されます。
現在の日時:2021/03/31 15:25:39
年、月、日、時、分、秒、ミリ秒を取得する
C#ではDateTime.Nowプロパティを使ってシステム日付が取得できることを紹介しました。
続いて、DateTime.Nowプロパティで取得したシステム日付から年、月、日、時、分、秒、ミリ秒を取得する方法について説明します。
DateTime構造体では、たとえば「年」を取得するには「Year」、「秒」を取得するには「Second」を使用するように、年、月、日、時、分、秒、ミリ秒それぞれの値を取得するためのプロパティが用意されています。
DateTime.Nowで取得したシステム日付から、それぞれのプロパティを用いて年、月、日、時、分、秒、ミリ秒を取得するサンプルプログラムです。
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 |
using System; namespace Sample { class Sample { static void Main() { // DateTime.Nowをコンソール表示する DateTime dt = DateTime.Now; Console.WriteLine("現在の日時:" + dt); // コンソール表示:年、月、日、時、分、秒、ミリ秒 // 年はYearプロパティで取得 Console.WriteLine("年:" + dt.Year); // 月はMonthプロパティで取得 Console.WriteLine("月:" + dt.Month); // 日はDayプロパティで取得 Console.WriteLine("日:" + dt.Day); // 時はHourプロパティで取得 Console.WriteLine("時:" + dt.Hour); // 分はMinuteプロパティで取得 Console.WriteLine("分:" + dt.Minute); // 秒はSecondプロパティで取得 Console.WriteLine("秒:" + dt.Second); // ミリ秒はMillisecondプロパティで取得 Console.WriteLine("ミリ秒:" + dt.Millisecond); } } } |
実行結果が次のように出力されます。
現在の日時:2021/03/31 10:24:16
年:2021
月:3
日:31
時:10
分:24
秒:16
ミリ秒:694
このようにDateTime構造体と各プロパティを使用することで年、月、日、時、分、秒、ミリ秒の情報を取得できます。
システム日付をフォーマット変換する
C#ではDateTime.Nowプロパティでシステム日付が取得できることを紹介しましたが、取得したシステム日付を、たとえばyyyy/MM/dd形式などフォーマット変換したい場面があると思います。
そのような時はToStringメソッドを使うことでフォーマット変換できます。ToStringメソッドの戻り値は文字列型です。
フォーマットは「yyyy/MM/dd HH:mm:ss.fff」のような形式で、年月日や時刻を指定します。yが年、Mが月、dが日、Hが時間、mが分、sが秒、fがミリ秒を表しています。
取得したシステム日付を様々なフォーマットに変換してコンソール表示するサンプルプログラムです。
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 |
using System; namespace Sample { class Sample { static void Main() { // DateTime.Nowをコンソール表示する DateTime dt = DateTime.Now; Console.WriteLine("現在の日時:" + dt); // コンソール表示:フォーマット変換 Console.WriteLine("yyyy/MM/ddへ変換 ⇒ " + dt.ToString("yyyy/MM/dd")); Console.WriteLine("yyyy-MM-dd HH:mm:ss.fffへ変換 ⇒ " + dt.ToString("yyyy-MM-dd HH:mm:ss.fff")); Console.WriteLine("yyyy/MM/dd HH:mm:ssへ変換 ⇒ " + dt.ToString("yyyy/MM/dd HH:mm:ss")); Console.WriteLine("yy/M/d HH:mm:ssへ変換 ⇒ " + dt.ToString("yy/M/d HH:mm:ss")); Console.WriteLine("yyyyMMddHHmmssへ変換 ⇒ " + dt.ToString("yyyyMMddHHmmss")); Console.WriteLine("MM/dd/yyyy HH:mm:ssへ変換 ⇒ " + dt.ToString("MM/dd/yyyy HH:mm:ss")); Console.WriteLine("yyyy年MM月dd日 HH時mm分ss秒へ変換 ⇒ " + dt.ToString("yyyy年MM月dd日 HH時mm分ss秒")); } } } |
実行結果が次のように出力されます。
現在の日時:2021/03/31 11:03:26
yyyy/MM/ddへ変換 ⇒ 2021/03/31
yyyy-MM-dd HH:mm:ss.fffへ変換 ⇒ 2021-03-31 11:03:26.706
yyyy/MM/dd HH:mm:ssへ変換 ⇒ 2021/03/31 11:03:26
yy/M/d HH:mm:ssへ変換 ⇒ 21/3/31 11:03:26
yyyyMMddHHmmssへ変換 ⇒ 20210331110326
MM/dd/yyyy HH:mm:ssへ変換 ⇒ 03/31/2021 11:03:26
yyyy年MM月dd日 HH時mm分ss秒へ変換 ⇒ 2021年03月31日 11時03分26秒
- システム
エンジニア - システム日付だけではなく、年月日、時分秒ごとに値を取得できたり、自在にフォーマット変換した文字列を取得することもできるのですね。
- プロジェクト
マネージャー - その通りです。今回の内容をぜひ参考にしてください。
C#でシステム日付を利用しよう
いかがだったでしょうか?C#でシステム日付を利用する方法を紹介しました。
C#ではDateTime.Nowプロパティを使ってシステム日付を取得できます。また、DateTime構造体のYear、Monthプロパティなどを使ってシステム日付の年、月、日、時、分、秒、ミリ秒を取得することが可能で、ToStringメソッドを使ってフォーマット変換することも可能です。
C#でシステム日付を使う機会があったら、ぜひこの記事を参考にしてください。
FEnet.NETナビ・.NETコラムは株式会社オープンアップシステムが運営しています。
株式会社オープンアップシステムはこんな会社です
秋葉原オフィスには株式会社オープンアップシステムをはじめグループのIT企業が集結!
数多くのエンジニアが集まります。

-
スマホアプリから業務系システムまで
スマホアプリから業務系システムまで開発案件多数。システムエンジニア・プログラマーとしての多彩なキャリアパスがあります。
-
充実した研修制度
毎年、IT技術のトレンドや社員の要望に合わせて、カリキュラムを刷新し展開しています。社内講師の丁寧なサポートを受けながら、自分のペースで学ぶことができます。
-
資格取得を応援
スキルアップしたい社員を応援するために資格取得一時金制度を設けています。受験料(実費)と合わせて資格レベルに合わせた最大10万円の一時金も支給しています。
-
東証プライム上場企業グループ
オープンアップシステムは東証プライム上場「株式会社オープンアップグループ」のグループ企業です。
安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。
株式会社オープンアップシステムに興味を持った方へ
株式会社オープンアップシステムでは、開発系エンジニア・プログラマを募集しています。
年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。


C#新着案件New Job
システム開発/東京都新宿区/【WEB面談可/C#経験者/20代前半の方活躍中/経験1年以上の方活躍中】/在宅勤務
月給29万~34万円東京都新宿区(新宿駅)システム開発/東京都新宿区/【WEB面談可/C#経験者/20代後半~40代の方活躍中/経験年数不問】/在宅勤務
月給41万~50万円東京都新宿区(新宿駅)デバック、テスト項目の作成/神奈川県横浜市/【WEB面談可/C#経験者/20代前半の方活躍中/経験1年以上の方活躍中】/在宅勤務
月給29万~34万円神奈川県横浜市(桜木町駅)デバック、テスト項目の作成/神奈川県横浜市/【WEB面談可/C#経験者/20代後半~40代の方活躍中/経験年数不問】/在宅勤務
月給41万~50万円神奈川県横浜市(桜木町駅)基幹システム開発導入/東京都新宿区/【WEB面談可/C#経験者/20代前半の方活躍中/経験1年以上の方活躍中】/在宅勤務
月給29万~34万円東京都新宿区(西新宿駅)基幹システム開発導入/東京都新宿区/【WEB面談可/C#経験者/20代後半~40代の方活躍中/経験年数不問】/在宅勤務
月給41万~50万円東京都新宿区(西新宿駅)