サンプル集  >  C#  >  日付文字列をDateTime型へ変換
日付文字列をDateTime型へ変換
2019/07/19

日付文字列をDateTime型へ変換します。

◆環境
OS Windows 7 Professional Service Pack 1 64bit
C# 01018-587-4054026-70893

以下の手順を行います。

  1. [ファイル]-[新規作成]-[プロジェクト]を選択します。
  2. [Visual C#]を選択し、[Windows コンソール アプリケーション]を選択します。
    「プロジェクト名」は「DateTimeTest」にします。

Program.cs
 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: 
41: 
42: 
43: 
44: 
45: 
46: 
47: 
48: 
49: 
50: 
51: 
52: 
53: 
54: 
55: 
56: 
57: 
58: 
59: 
60: 
61: 
62: 
63: 
64: 
65: 
66: 
67: 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DateTimeTest
{
    class Program
    {
        static void Main(string[] args)
        {
            // 文字列を指定したフォーマットに従い
            // DateTime型へ変換します。
            DateTime dt
            = DateTime.ParseExact(
                   "2019-07-19"
                 , "yyyy-MM-dd"
                 , null
                 );
            Console.WriteLine("dt={0}", dt);

            try
            {
                // 指定したフォーマットと文字列が一致しないと
                // FormatExceptionになります。
                dt
                = DateTime.ParseExact(
                      "2019-07-19 17:15:25"
                    , "yyyy-MM-dd"
                    , null
                    );
                Console.WriteLine("dt={0}", dt);
            }
            catch (FormatException e)
            {
                Console.WriteLine(e.Message);
            }

            // 複数のフォーマットを指定する事もできます。
            var frts
                = new string[] {
                          "yyyy-MM-dd"
                        , "yyyy-MM-dd HH:mm:ss"
                };

            dt
            = DateTime.ParseExact(
                  "2019-07-19"
                , frts
                , null
                , System.Globalization.DateTimeStyles.None
                );
            Console.WriteLine("dt={0}", dt);

            dt
            = DateTime.ParseExact(
                  "2019-07-19 17:15:25"
                , frts
                , null
                , System.Globalization.DateTimeStyles.None
                );
            Console.WriteLine("dt={0}", dt);

            Console.ReadLine();
        }
    }
}

実行してみます。

dt=2019/07/19 0:00:00
文字列は有効な DateTime ではありませんでした。
dt=2019/07/19 0:00:00
dt=2019/07/19 17:15:25

期待通りに動きました。

▲ PageTop  ■ Home


Copyright (C) 2019 ymlib.com