VB.NET Format 日時の表示形式を指定するサンプル

VB.NETのFormatメソッドで日時の表示形式を指定するサンプルです。

目次

サンプル 書式を指定する(String.Format)
  VBのStrings.Format
  書式を指定する(ToString)

書式を指定する(String.Format)

Public Shared Function Format (format As String, ParamArray args As Object()) As String
  • 書式を指定します。
  • .netのFormatメソッドです。名前空間は、Systemです。
Module Module1
	Sub Main()

		Dim a As String =
			String.Format("{0}年{1}月{2}日", 2020, 6, 16)
		Console.WriteLine(a) '2020年6月16日

		Dim b As String =
			String.Format("{0}/{1}/{2}", 2020, 6, 16)
		Console.WriteLine(b) '2020/6/16

		Dim c As String =
			String.Format("{0}年{1}月{2}日{3}時{4}分{5}秒", 2020, 6, 6, 13, 8, 21)
		Console.WriteLine(c) '2020年6月6日13時8分21秒

		Dim d As String =
			String.Format("{0}/{1}/{2} {3}:{4}:{5}", 2020, 6, 6, 13, 8, 21)
		Console.WriteLine(d) '2020/6/6 13:8:21
	End Sub
End Module

5,9行目は年月日で、13,17行目は時分秒まで表示しています。
文字列の中の波括弧({})の数値は、後ろのカンマ区切りの数値と対応しています。

以下は、MicrosoftのString.Formatメソッドのリンクです。
https://docs.microsoft.com/ja-jp/dotnet/api/system.string.format?view=netcore-3.1

 

VBのStrings.Format

Public Function Format (Expression As Object, Optional Style As String = "") As String
  • 書式を指定します。
  • VBのStringsクラスのFormatメソッドです。名前空間は、Microsoft.VisualBasicです。
  • クラス名は、Stringの後にsが付いています。
Module Module1
	Sub Main()

		Dim a As String =
			Strings.Format(20200616, "0000年00月00日")
		Console.WriteLine(a) '2020年06月16日

		Dim b As String =
			Strings.Format(20201006, "0000/00/00")
		Console.WriteLine(b) '2020/10/06

		Dim c As String =
			Strings.Format(20200606130821, "0000年00月00日00時00分00秒")
		Console.WriteLine(c) '2020年06月06日13時08分21秒

		Dim d As String =
			Strings.Format(20200606130821, "0000/00/00 00:00:00")
		Console.WriteLine(d) '2020/06/06 13:08:21
	End Sub
End Module

5,9行目は年月日で、13,17行目は時分秒まで表示しています。
2つめの引数の数値の箇所は0を指定します。

以下は、MicrosoftのStrings.Format(Object, String) メソッドのリンクです。
https://docs.microsoft.com/ja-jp/dotnet/api/microsoft.visualbasic.strings.format?view=netcore-3.1

 

書式を指定する(ToString)

Public Function ToString (format As String) As String
  • ToStringメソッドです。名前空間は、Systemです。
  • 書式を指定できます。
Module Module1
	Sub Main()

		Dim a As Integer = 20200613
		Console.WriteLine(a.ToString("0000-00-00")) '2020-06-13

		Dim b As Integer = 20201006
		Console.WriteLine(b.ToString("0000年00月00日")) '2020年10月06日

		Dim c As Long = 20200606130821
		Console.WriteLine(c.ToString("0000年00月00日00時00分00秒")) '2020年06月06日13時08分21秒

		Dim d As Long = 20200606130821
		Console.WriteLine(d.ToString("0000/00/00 00:00:00")) '2020/06/06 13:08:21
	End Sub
End Module

5,8行目は年月日です。Integer型の数値を加工して文字列にしています。
11,14行目は時分秒まで表示しています。Long型の数値を加工して文字列にしています。

以下は、MicrosoftのInt32.ToString メソッドのリンクです。
https://docs.microsoft.com/ja-jp/dotnet/api/system.int32.tostring?view=netcore-3.1

関連の記事

VB.NET 文字列の位置を取得(IndexOf/LastIndexOf)
VB.NET Split 文字列を分割して配列にする

△上に戻る