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 文字列を分割して配列にする