VB.NET 日付型から文字列へ 日付フォーマット

日付型から文字列へ変換する方法を紹介していきます。

文字列から日付型に変換したい方はこちらを参考にしてみてください。

その際に、色々な形式に変換することができるのでよく使うフォーマットを見ていきましょう。

ToStringを利用したフォーマット

日付から文字列に変換する関数に「ToString」があります。

日付.ToString("フォーマット")

この関数を利用したよく使うフォーマットを紹介していきます。

ちなみに「DateTime.Now」で現在の時刻を取得できます。

Dim dt_now As DateTime
dt_now = DateTime.Now

Dim str_date As String
str_date = dt_now.ToString("yyyy/MM/dd")
Console.WriteLine(str_date) '2021/01/08

str_date = dt_now.ToString("yyyyMMdd")
Console.WriteLine(str_date) '20210108

str_date = dt_now.ToString("yyyy年MM月dd日")
Console.WriteLine(str_date) '2021年01月08日

str_date = dt_now.ToString("yyMMdd")
Console.WriteLine(str_date) '210108

str_date = dt_now.ToString("yyyyMM")
Console.WriteLine(str_date) '202101

str_date = dt_now.ToString("yyyy/MM/dd HH:mm:ss")
Console.WriteLine(str_date) '2021/01/08 23:18:15

str_date = dt_now.ToString("HH:mm:ss")
Console.WriteLine(str_date) '23:18:15

str_date = dt_now.ToString("HH:mm")
Console.WriteLine(str_date) '23:18

結果

2021/01/08
20210108
2021年01月08日
210108
202101
2021/01/08 23:18:15
23:18:15
23:18

 

このように、

「yyyy」年
「MM」月
「dd」日
「HH」時間
「mm」分
「ss」秒

を取得することができます。

Formatを利用したフォーマット

続いて、フォーマット関数を利用した、変換方法を紹介します。

Format(日付,"フォーマット")

使用例を見ていきましょう。

Dim dt_now As DateTime
dt_now = DateTime.Now

Dim str_date As String
str_date = Format(dt_now, "yyyy/MM/dd")
Console.WriteLine(str_date) '2021/01/08

str_date = Format(dt_now, "yyyyMMdd")
Console.WriteLine(str_date) '20210108

str_date = Format(dt_now, "yyyy年MM月dd日")
Console.WriteLine(str_date) '2021年01月08日

str_date = Format(dt_now, "yyMMdd")
Console.WriteLine(str_date) '210108

str_date = Format(dt_now, "yyyyMM")
Console.WriteLine(str_date) '202101

str_date = Format(dt_now, "yyyy/MM/dd HH:mm:ss")
Console.WriteLine(str_date) '2021/01/08 23:29:41

str_date = Format(dt_now, "HH:mm:ss")
Console.WriteLine(str_date) '23:29:41

str_date = Format(dt_now, "HH:mm")
Console.WriteLine(str_date) '23:29

結果

2021/01/08
20210108
2021年01月08日
210108
202101
2021/01/08 23:29:41
23:29:41
23:29

先ほどの、「ToString」と同じ結果になりました。

どちらでも結果は変わらないので使いやすいほうを使っていきましょう。

指定された関数を利用したフォーマット

あらかじめ用意されている関数もあるので、この関数を利用したフォーマットを紹介していきます。

用意されている関数は下記4種類になります。

ToLongDateString:「yyyy年MM月dd日」

ToShortDateString:「yyyy/MM/dd」

ToLongTimeString:「HH:mm:ss」

ToShortTimeString:「HH:mm」

それぞれ使用例を見ていきましょう。

Dim dt_now As DateTime
dt_now = DateTime.Now

Dim str_date As String
str_date = dt_now.ToLongDateString()
Console.WriteLine(str_date)

str_date = dt_now.ToShortDateString
Console.WriteLine(str_date)

str_date = dt_now.ToLongTimeString()
Console.WriteLine(str_date)

str_date = dt_now.ToShortTimeString
Console.WriteLine(str_date)

結果

2021年1月8日
2021/01/08
23:10:31
23:10

 

まとめ

日付形式から文字列形式に変換する方法を紹介してきました。

この変換は非常によく使うので、「ToString」もしくは「Format」好きなほうを利用してみてください。

日付型.ToString("フォーマット")
Format(日付型,"フォーマット")

 

VB.NETの記事一覧

おすすめの記事