エンジニアの将来って?

現在7年目のCOBOL→Java→C#エンジニアが、将来への考えや勉強のアウトプット、たまに腎臓について書くブログです

【C#】DateTimeオブジェクトを、string型に変換するメソッドを紹介します

こんにちは。たいら(@tairaengineer2)です。
この記事では、C#DateTimeオブジェクトstring型 に変換するメソッドを紹介します。

 

前提条件

この記事では、Visual Studio 2017 Communityを使っています。
インストールの仕方は、下の記事をご参考ください。

www.tairax.com

DateTimeオブジェクトをstring型に変換するメソッド

DateTimeオブジェクトをstring型に変換するメソッドは

  1. ToStringメソッド
  2. ToShortDateStringメソッド
  3. ToLongDateStringメソッド
  4. ToShortTimeStringメソッド
  5. ToLongTimeStringメソッド

の5種類あります。
では、それぞれのメソッドを、実際に使って解説します。

解説で使うプログラムの概要

解説で使うプログラムは、今現在のDateTimeオブジェクトを取得して、先ほどあげた5つのメソッドでコンソールで表示させるプログラムです。
コンソールプロジェクトを作成するやり方は下の記事をご参考ください。

www.tairax.com

C#プログラム

using System;

/// <summary>
///  DateTimeオブジェクトをstring型に変換
/// </summary>
namespace ConsoleApp1
{
    class Program
    {
        /// <summary>
        /// メイン
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            string separation = "---------------------";
            DateTime dateTime = DateTime.Now;
            Console.WriteLine(separation);
            Console.WriteLine("何も変換しないパターン:" + dateTime);
            Console.WriteLine(separation);
            Console.WriteLine("ToString()メソッド:" + dateTime.ToString());
            Console.WriteLine(separation);
            Console.WriteLine("短い形式の日付パターン");
            Console.WriteLine("ToString(\"d\")メソッド:" + dateTime.ToString("d"));
            Console.WriteLine("ToShortDateString()メソッド:" + dateTime.ToShortDateString());
            Console.WriteLine(separation);
            Console.WriteLine("長い形式の日付パターン");
            Console.WriteLine("ToString(\"D\"):" + dateTime.ToString("D"));
            Console.WriteLine("ToLongDateString():" + dateTime.ToLongDateString());
            Console.WriteLine(separation);
            Console.WriteLine("短い形式の時間パターン");
            Console.WriteLine("ToString(\"t\")メソッド:" + dateTime.ToString("t"));
            Console.WriteLine("ToShortTimeString()メソッド:" + dateTime.ToShortTimeString());
            Console.WriteLine(separation);
            Console.WriteLine("長い形式の時間パターン");
            Console.WriteLine("ToString(\"T\"):" + dateTime.ToString("T"));
            Console.WriteLine("ToLongTimeString()メソッド:" + dateTime.ToLongTimeString());
        }
    }
}

実行結果

f:id:Tairax:20190111214915p:plain

---------------------
何も変換しないパターン:2019/01/11 21:21:55
---------------------
ToString()メソッド:2019/01/11 21:21:55
---------------------
短い形式の日付パターン
ToString("d")メソッド:2019/01/11
ToShortDateString()メソッド:2019/01/11
---------------------
長い形式の日付パターン
ToString("D"):2019年1月11日
ToLongDateString():2019年1月11日
---------------------
短い形式の時間パターン
ToString("t")メソッド:21:21
ToShortTimeString()メソッド:21:21
---------------------
長い形式の時間パターン
ToString("T"):21:21:55
ToLongTimeString():21:21:55
続行するには何かキーを押してください . . .

解説

では、それぞれのメソッドを解説していきます。
ToStringメソッド以外のメソッドは、ToStringメソッドで代替することができます。
それについても解説します。

ToStringメソッド

現在の DateTime オブジェクトの値を等価の文字列形式に変換します。

DateTime.ToString Method (System) | Microsoft Docsから引用させて頂きました

ToStringメソッドは、引数に何も指定しない場合、DateTimeオブジェクトすべての値を文字列にします。
なので

ToString()メソッド:2019/01/11 21:21:55

という風に表示されています。
何も変換しないパターンと同じです。

ToShortDateStringメソッド

現在の DateTime オブジェクトの値を、それと等価な短い形式の日付の文字列形式に変換します。

DateTime.ToShortDateString Method (System) | Microsoft Docsから引用させて頂きました

ToShortDateStringメソッドは、DateTimeオブジェクト日付だけを文字列にします。
なので

ToShortDateString()メソッド2019/01/11

という風に簡単な形式で日付が表示されています。

結果から分かる通りこのメソッドは、ToStringメソッドでも同じことが出来ます
書き方は

dateTime.ToString("d"));

で、同じ結果を得ることができています。

d短い形式の日付書式設定という意味です。
だから、ToStringメソッドで指定すると短い形式で表示されます。

ToLongDateStringメソッド

現在の DateTime オブジェクトの値を、それと等価な長い形式の日付の文字列形式に変換します。

DateTime.ToLongDateString Method (System) | Microsoft Docsから引用させて頂きました

ToLongDateStringメソッドは、DateTimeオブジェクト日付だけを文字列にします。
なので

ToLongDateString():2019年1月11日

という風に丁寧な形式で日付が表示されています。

結果から分かる通りこのメソッドは、ToStringメソッドでも同じことが出来ます
書き方は

dateTime.ToString("D"));

で、同じ結果を得ることができています。

D長い形式の日付書式設定という意味です。
だから、ToStringメソッドで指定すると長い形式で表示されます。

ToShortTimeStringメソッド

現在の DateTime オブジェクトの値を、それと等価な短い形式の時刻の文字列形式に変換します。

DateTime.ToShortTimeString Method (System) | Microsoft Docsから引用させて頂きました

ToShortTimeStringメソッドは、DateTimeオブジェクト時間だけを文字列にします。
なので

ToShortTimeString()メソッド:21:21

という風に時間と分だけの時間が表示されています。

結果から分かる通りこのメソッドは、ToStringメソッドでも同じことが出来ます
書き方は

dateTime.ToString("t"));

で、同じ結果を得ることができています。

t短い形式の時間書式設定という意味です。
だから、ToStringメソッドで指定すると短い形式で表示されます。

ToLongTimeStringメソッド

現在の DateTime オブジェクトの値を、それと等価な長い形式の時刻の文字列形式に変換します。

DateTime.ToLongTimeString Method (System) | Microsoft Docsから引用させて頂きました

ToLongTimeStringメソッドは、DateTimeオブジェクト時間だけを文字列にします。
なので

ToLongTimeString():21:21:55

という風に秒までの時間が表示されています。

結果から分かる通りこのメソッドは、ToStringメソッドでも同じことが出来ます
書き方は

dateTime.ToString("T"));

で、同じ結果を得ることができています。

T長い形式の時間書式設定という意味です。
だから、ToStringメソッドで指定すると短い形式で表示されます。

まとめ:DateTimeオブジェクトをstring型に変換してみよう

以上がDateTimeオブジェクトをstring型に変換できるメソッドの紹介でした。
まとめると

メソッド 使い方 表示例
ToStringメソッド string date = todayDate.ToString(); 2019/01/11 21:21:55
ToShortDateStringメソッド string date = todayDate.ToShortDateString(); 2019/01/11
ToLongDateStringメソッド string date = todayDate.ToLongDateString(); 2019年1月11日
ToShortTimeStringメソッド string date = todayDate.ToShortTimeString(); 21:21
ToLongTimeStringメソッド string date = todayDate.ToShortTimeString(); 21:21:55

メソッドの対応表をまとめました。

ToStringメソッド 対応するメソッド
dateTime.ToString("d") dateTime.ToShortDateString()
dateTime.ToString("D") dateTime.ToLongDateString()
dateTime.ToString("t") dateTime.ToShortTimeString()
dateTime.ToString("T") dateTime.ToLongTimeString()

あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ

 

ほかにもC#勉強記事を書いてます。
よければご参考ください。

【C#】文字列を数値に変換できるか調べるTryParseメソッドの使い方

【C#】string.Formatと文字列補完を解説します

【C#】コード:IDE1006、説明:名前指定の規則違反: これらの単語は、大文字で始まらなければなりません、が出たときの対処方法

今までブログで書いたC#の解説記事のまとめは、こちらをご参考ください。

【C#】ブログで書いた文法記事のまとめ