カテゴリ: VB.NET 更新日: 2026/04/08

VB.NETで日付を好きな形式で表示!カスタムフォーマット徹底解説

VB.NETで日時をカスタムフォーマットで表示する方法(yyyy/MM/dd hh:mm:ssなど)
VB.NETで日時をカスタムフォーマットで表示する方法(yyyy/MM/dd hh:mm:ssなど)

先生と生徒の会話形式で理解しよう

生徒

「先生、VB.NETで今日の日付を表示させたら、なんだか見にくい形式で出てきてしまいました。もっと読みやすくする方法はありますか?」

先生

「それは『カスタムフォーマット』を使えば解決しますよ。日付や時間を自分の好きな形に整えることができるんです。」

生徒

「例えば『2026年3月28日』みたいに日本語を入れたり、時間を秒まで出したりすることもできるんですか?」

先生

「もちろんです!記号を組み合わせるだけで自由自在に見た目を変えられます。プログラミングが初めての方でも簡単にできるので、一緒にやってみましょう!」

1. カスタムフォーマットとは?

1. カスタムフォーマットとは?
1. カスタムフォーマットとは?

パソコンの中で日付や時間は、もともとは非常に細かい数字の集まりとして扱われています。これをそのまま画面に出すと、人間にとってはとても読みづらいものになってしまいます。そこで登場するのがカスタムフォーマットです。

カスタムフォーマットとは、日付や時間のデータを、私たちが普段使っているカレンダーや時計のような「見やすい文字」に変換するための「型紙(テンプレート)」のようなものです。VB.NETでは、この型紙をプログラムに指定するだけで、一瞬で見た目をきれいに整えることができます。これをマスターすれば、日記アプリや業務用のレポート、時計ツールなど、あらゆる場面で役立つ「親切な表示」が作れるようになります。

2. 一番よく使う!ToStringメソッドの基本

2. 一番よく使う!ToStringメソッドの基本
2. 一番よく使う!ToStringメソッドの基本

VB.NETで日付の見た目を変えるとき、最も頻繁に使うのがToString(トゥストリング)という命令です。これは直訳すると「文字列へ」という意味で、日付のデータを文字に変換してくれる機能を持っています。この命令のカッコの中に、好きな形式を指定するための記号を書き込みます。

まずは、一番シンプルな「スラッシュ(/)」区切りの表示方法を見てみましょう。プログラミング未経験の方でも、この一行を覚えるだけで日付表示の達人に一歩近づけます。


' 今日の日付を取得します
Dim kyo As Date = Date.Now

' yyyy/MM/dd という形式で表示します
Dim moji As String = kyo.ToString("yyyy/MM/dd")

Console.WriteLine("今日は " & moji & " です")

実行結果は以下のようになります。


今日は 2026/03/28 です

ここで使っているString(ストリング)というのは、文字を入れるための専用の箱(変数)のことです。カッコの中の"yyyy/MM/dd"が、今回使った「型紙」になります。これだけで、パソコン標準の味気ない表示が、一気に分かりやすくなりましたね。

3. 年・月・日・時間を表す特別な記号たち

3. 年・月・日・時間を表す特別な記号たち
3. 年・月・日・時間を表す特別な記号たち

カスタムフォーマットを作るには、いくつかの「決まった記号」を組み合わせる必要があります。最初は難しく見えるかもしれませんが、英単語の頭文字だと分かれば簡単です。代表的なものを紹介しますね。

  • y(Year:年):年を表します。「yyyy」なら4桁、「yy」なら下2桁になります。
  • M(Month:月):月を表します。「MM」なら「03」のように2桁で表示されます。
  • d(Day:日):日を表します。「dd」なら「01」のように2桁になります。
  • H(Hour:時間):時間を表します。「HH」は24時間制、「hh」は12時間制です。
  • m(Minute:分):分を表します。「mm」と書きます。
  • s(Second:秒):秒を表します。「ss」と書きます。

特に注意が必要なのが「月(M)」と「分(m)」の違いです。プログラムの世界では、大文字と小文字を区別して使い分けることがよくあります。月は大文字のM、分は小文字のmと覚えておきましょう。これさえ間違えなければ、思い通りの表示が作れます。

4. 日本語を混ぜた「〇年〇月〇日」の形式

4. 日本語を混ぜた「〇年〇月〇日」の形式
4. 日本語を混ぜた「〇年〇月〇日」の形式

日本で使われるアプリを作るなら、やはり漢字を使った表示にしたいですよね。VB.NETでは、フォーマットの中に直接漢字を書き込むことができます。これにより、より親しみやすい表示が可能になります。以下のコードでは、日付と時間をセットで日本語表示にする方法を紹介します。


' 今の時間を取得
Dim ima As Date = Date.Now

' 漢字を使ったフォーマットを指定します
Dim formattedText As String = ima.ToString("yyyy年MM月dd日 HH時mm分ss秒")

Console.WriteLine("現在の時刻:" & formattedText)

実行結果は以下のようになります。


現在の時刻:2026年03月28日 19時53分27秒

このように、記号以外の文字(漢字やスペースなど)はそのまま表示される仕組みになっています。この自由度の高さがカスタムフォーマットの素晴らしいところです。自分だけの特別な時計表示を作ってみるのも面白いですよ。

5. 曜日を表示する便利なテクニック

5. 曜日を表示する便利なテクニック
5. 曜日を表示する便利なテクニック

カレンダーアプリやスケジュール帳を作るとき、曜日が表示されていると便利ですよね。実は曜日も簡単な記号だけで表示することができます。アルファベットの「d」を3つ、あるいは4つ並べるだけで、パソコンが自動的に今日の曜日を調べて文字にしてくれます。パソコンを触ったことがない方でも、この裏技を使えばプロっぽいプログラムが書けます。


' 曜日を含んだ表示を作ります
Dim kyo As Date = Date.Today

' ddd なら「土」、dddd なら「土曜日」と表示されます
Dim youbi As String = kyo.ToString("yyyy/MM/dd (dddd)")

Console.WriteLine("カレンダー表示: " & youbi)

実行結果は以下のようになります。


カレンダー表示: 2026/03/28 (土曜日)

カッコで囲むなどの工夫も自由にできます。パソコンが「今日は何曜日かな?」とカレンダーをめくる作業を代わりにやってくれるので、私たちは記号を置くだけで良いのです。とても楽ちんですよね。

6. 1桁の数字をどう扱うか(0埋めとスペース)

6. 1桁の数字をどう扱うか(0埋めとスペース)
6. 1桁の数字をどう扱うか(0埋めとスペース)

例えば「3月」を表示するとき、「03月」と表示したいときもあれば、シンプルに「3月」と出したいときもありますよね。これも記号の数でコントロールできます。記号を2つ重ねる(MM)と、1桁の月でも「03」のように0をつけて桁を揃えてくれます(これを0埋めと呼びます)。逆に記号を1つだけ(M)にすると、余計な0をつけずに「3」と表示されます。

表形式で数字を綺麗に並べたいときは2文字(MM, dd)を使い、文章の中で自然に表示したいときは1文字(M, d)を使うのが、読みやすいアプリを作るためのコツです。こうした細かいこだわりが、ユーザーにとっての使いやすさ(アクセシビリティ)に繋がっていきます。

7. 午前と午後を表示する方法

7. 午前と午後を表示する方法
7. 午前と午後を表示する方法

時間を表示するとき、午前(AM)か午後(PM)かを表示したい場合もあります。これも記号を追加するだけで簡単に実現できます。VB.NETでは「tt」という記号を使うことで、現在の時間が午前か午後かを判定して文字を出してくれます。実際にどのように動くか見てみましょう。


' 12時間制での表示を試します
Dim sampleTime As New Date(2026, 3, 28, 15, 30, 0)

' tt を入れることで 午前/午後 が表示されます
' hh(小文字)は12時間制です
Dim ampmText As String = sampleTime.ToString("tt hh時mm分")

Console.WriteLine("午後の表示例: " & ampmText)

実行結果は以下のようになります。


午後の表示例: 午後 03時30分

お昼の3時が「15時」ではなく「午後 03時」と表示されましたね。このように、使う場面に合わせて最適な「型紙」を選べるようになれば、日付操作の基本は完璧です。他にも、秒のさらに下の単位であるミリ秒を表示する「fff」など、さらに細かい記号も存在しますが、まずは今回紹介した基本の記号からマスターしていきましょう。

8. 初心者が間違いやすいポイントと解決策

8. 初心者が間違いやすいポイントと解決策
8. 初心者が間違いやすいポイントと解決策

日付のフォーマットで一番よくある間違いは、先ほどもお伝えした「大文字と小文字の取り違え」です。特に「分」を表示したかったのに「月」が出てしまった、という失敗はプロでも時々やってしまいます。また、カッコ () やスラッシュ / 以外の特殊な記号を文字として表示したい場合は、円マーク \ を記号の前に置く必要があるなど、少しだけ決まりごとがあります。

しかし、難しく考える必要はありません。まずは基本の "yyyy/MM/dd HH:mm:ss" を一つのセットとして覚えてしまい、そこから少しずつ自分流にアレンジしていくのが一番の近道です。プログラムを書いて実行してみて、画面に思い通りの形が出たら、その達成感をぜひ大切にしてください。VB.NETは初心者に寄り添ってくれる言語なので、何度も試しながら学んでいけば、必ず自由に日付を操れるようになりますよ!

カテゴリの一覧へ
新着記事
New1
ASP.NET
ASP.NET Web APIでGET・POST・PUT・DELETEを完全理解!初心者でもわかるHTTPメソッド入門
New2
ASP.NET
ASP.NET開発環境構築|IIS Expressを使ったローカル開発環境の設定方法
New3
VB.NET
VB.NETのコメント活用術!TODO・FIXME・ドキュメンテーションコメントの書き方
New4
VB.NET
VB.NETでDateOnlyとTimeOnlyを使いこなす!日付と時間の専門家になろう
人気記事
No.1
Java&Spring記事人気No1
ASP.NET
ASP.NET WebFormsとは?基本概念と仕組みを初心者向けにやさしく解説
No.2
Java&Spring記事人気No2
ASP.NET
ASP.NETとは?初心者向けにできることと特徴をやさしく解説
No.3
Java&Spring記事人気No3
VB.NET
VB.NETで日付を文字列に変換!ToStringやFormatの使い方を徹底解説
No.4
Java&Spring記事人気No4
VB.NET
VB.NETプログラムの書き方を基礎から学ぼう!初心者が覚えるべき文法とは?
No.5
Java&Spring記事人気No5
VB.NET
VB.NETで日付と時間を比較・計算する方法!CompareとSubtractを完全解説
No.6
Java&Spring記事人気No6
ASP.NET
ASP.NETでHTTPS(SSL/TLS)を導入して安全なWebサイトを作ろう!初心者でもわかる完全ガイド
No.7
Java&Spring記事人気No7
VB.NET
VB.NETの配列(Array)の作り方と基本操作を徹底解説!初心者でもわかる入門ガイド
No.8
Java&Spring記事人気No8
VB.NET
VB.NETで日付を加算・減算する方法を完全ガイド!AddDaysやAddMonthsの使い方