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

VB.NETの時刻加算・減算を完全ガイド!AddHours, AddMinutesで時間を操る

VB.NETで時刻を加算・減算する方法(AddHours, AddMinutes, AddSeconds)
VB.NETで時刻を加算・減算する方法(AddHours, AddMinutes, AddSeconds)

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

生徒

「先生、VB.NETを使って、今の時間から30分後や2時間後の時間を計算する方法はありますか?予定管理ソフトを作ってみたいんです!」

先生

「素晴らしい目標ですね!VB.NETには、時間を足したり引いたりするための専用の命令が用意されているんですよ。」

生徒

「時間を足すって、59分の次に1分足したら時間が繰り上がったりして難しそうですが、自分で計算式を書くんですか?」

先生

「そんなことはありません。パソコンが自動的に『分』を『時』に繰り上げてくれる仕組みがあるんです。初心者でも数行で書けるので、一緒に見ていきましょう!」

1. 時刻の加算・減算とは?

1. 時刻の加算・減算とは?
1. 時刻の加算・減算とは?

プログラミングにおける時刻の加算(かさん)とは、ある時間に「1時間」や「30分」といった時間をプラスして、未来の時間を算出することです。逆に減算(げんざん)は、時間をマイナスして過去の時間を求めることを指します。VB.NETというプログラミング言語を使えば、時計の針を自分で進めたり戻したりするような感覚で、正確に時間を操作することができます。

パソコンを触ったことがない方でもイメージしやすいように例えると、キッチンタイマーのようなものです。「あと3分」と設定すれば、今の時間から3分後を計算してくれます。プログラミングでは、これを「AddHours(時間を足す)」「AddMinutes(分を足す)」「AddSeconds(秒を足す)」といった命令を使って実現します。これらの命令を使いこなせば、正確な時間の管理ができるようになります。

2. AddHoursを使って「時」を足す方法

2. AddHoursを使って「時」を足す方法
2. AddHoursを使って「時」を足す方法

まずは、時間に「何時間」かを足す AddHours(アド・アワーズ) という命令を学びましょう。これは、海外との時差を計算したり、数時間後のスケジュールを表示したりする際に非常に便利です。使い方は、時間のデータが入っている箱(変数)に対して、この命令をくっつけるだけです。

ここで「変数(へんすう)」という言葉が出てきましたが、これはデータを一時的に入れておく「魔法の箱」のことだと思ってください。この箱には DateTime(データタイム)という名前の形があり、日付と時間の両方を覚えることができます。AddHoursを使うと、例えば夜の23時に2時間を足した場合、日付をまたいで翌日の深夜1時であることをパソコンが自動で判断してくれます。


' 今の時間を取得して、ako という名前の箱に入れます
Dim ima As DateTime = DateTime.Now

' 今の時間に 3時間を足して、mirai という箱に入れます
Dim mirai As DateTime = ima.AddHours(3)

' 結果を画面に表示します
Console.WriteLine("今の時間: " & ima.ToString("HH:mm"))
Console.WriteLine("3時間後: " & mirai.ToString("HH:mm"))

今の時間: 10:00
3時間後: 13:00

3. AddMinutesを使って「分」を操作する

3. AddMinutesを使って「分」を操作する
3. AddMinutesを使って「分」を操作する

日常生活で一番使うのが、この AddMinutes(アド・ミニッツ) かもしれません。「あと45分で会議が終わる」といった計算や、電車の到着予定時刻を出す際によく使われます。使い方は先ほどの時間と同じですが、カッコの中に足したい「分」の数字を入れます。

初心者が間違いやすいポイントとして、60分を足したときに時間が正しく繰り上がるか心配になることがありますが、心配無用です。VB.NETの内部では、時間が数学的に正しく繋がっているため、分が溢れたら自動的に時間(アワー)の部分を増やしてくれます。私たちはただ「何分足すか」だけを考えれば良いのです。


' 今の時間を準備
Dim kyo As DateTime = DateTime.Now

' 45分を足します
Dim schedule As DateTime = kyo.AddMinutes(45)

Console.WriteLine("開始時刻: " & kyo.ToString("HH時mm分"))
Console.WriteLine("終了予定: " & schedule.ToString("HH時mm分"))

開始時刻: 10:30
終了予定: 11:15

4. AddSecondsを使って「秒」単位の計算

4. AddSecondsを使って「秒」単位の計算
4. AddSecondsを使って「秒」単位の計算

さらに細かい単位である「秒」を扱うのが AddSeconds(アド・セカンズ) です。非常に精密な計算が必要なストップウォッチアプリや、一秒を争うようなゲーム、あるいはセキュリティ上の「あと60秒でパスワードが無効になります」といった通知機能などで活躍します。

プログラミングを始めたばかりのときは「秒まで使うことはないかな?」と思うかもしれませんが、実はコンピュータの世界では1秒未満の単位(ミリ秒など)まで細かく計算されています。この AddSeconds を使いこなすことで、より正確でプロフェッショナルなアプリケーションに一歩近づくことができます。


' 今の瞬間を取得
Dim shunkan As DateTime = DateTime.Now

' 90秒後(1分30秒後)を計算
Dim timeout As DateTime = shunkan.AddSeconds(90)

Console.WriteLine("今の秒: " & shunkan.ToString("ss"))
Console.WriteLine("90秒後の時間: " & timeout.ToString("HH:mm:ss"))

今の秒: 05
90秒後の時間: 10:31:35

5. 時間を引き算(減算)する方法

5. 時間を引き算(減算)する方法
5. 時間を引き算(減算)する方法

「時間を足す命令はあるけど、引く命令はどう書くの?」という疑問が湧きますよね。実はVB.NETには「SubtractHours」のような引き算専用の命令は一般的に使いません。代わりに、AddHoursやAddMinutesのカッコの中に マイナスの数字 を入れることで引き算を実現します。

例えば、1時間前を求めたいときは AddHours(-1) と書きます。30分前なら AddMinutes(-30) です。この「マイナスを足す」という考え方は、最初は少し変に感じるかもしれませんが、プログラミングの世界ではとても賢い方法です。一つの命令で未来(プラス)も過去(マイナス)も両方計算できるからです。


Dim genzai As DateTime = DateTime.Now

' マイナスを指定して1時間前の時間を求めます
Dim kako As DateTime = genzai.AddHours(-1)

' マイナスを指定して15分前の時間を求めます
Dim jugyoKaishi As DateTime = genzai.AddMinutes(-15)

Console.WriteLine("今は " & genzai.ToString("HH:mm") & " です")
Console.WriteLine("1時間前は " & kako.ToString("HH:mm") & " でした")

今は 10:00 です
1時間前は 09:00 でした

6. 日付をまたぐ計算のすごさ

6. 日付をまたぐ計算のすごさ
6. 日付をまたぐ計算のすごさ

これらの命令の真骨頂は、日付をまたぐ計算にあります。例えば、12月31日の23時50分に20分を足すとどうなるでしょうか。手作業で計算すると「分を足して、時間が繰り上がって、さらに日付が1月1日に変わって…」と非常に面倒です。しかし、VB.NETの AddMinutes を使えば、これらを一瞬で完璧に処理してくれます。

プログラミング未経験の方は、この「カレンダーのルールをパソコンが知っている」という点にぜひ驚いてください。うるう年の2月や、31日まである月と30日までしかない月の違いもすべて考慮されています。私たちがやるべきことは、どの単位(時・分・秒)をどれだけ動かしたいかを命令するだけなのです。

7. 時間操作をマスターしてアプリを便利に

7. 時間操作をマスターしてアプリを便利に
7. 時間操作をマスターしてアプリを便利に

時刻の加算・減算ができるようになると、ユーザーにとって非常に便利な機能を提供できるようになります。例えば、「お薬の通知を3時間おきに出す」とか「パスワードの有効期限を15分間に設定する」といった機能はすべて今回学んだ知識で作ることができます。

プログラミングは難しそうに見えますが、こうした一つ一つの便利な命令を覚えていく積み重ねです。最初は意味がわからなくても、実際に自分のパソコンで AddHours と打ち込んでみて、数字が変わるのを見るだけで大きな進歩です。今回学んだ「時間に魔法をかける方法」を使って、ぜひ自分だけの便利な時計アプリやタイマーを作ってみてくださいね!

カテゴリの一覧へ
新着記事
New1
ASP.NET
ASP.NET MVCで学ぶセッションと認証の仕組みをやさしく解説!初心者でも安心して理解できる入門ガイド
New2
VB.NET
VB.NETで名前空間を整理する方法を完全ガイド!初心者でもわかるNamespaceの基本
New3
ASP.NET
ASP.NET CoreのCookie認証を完全ガイド!初心者でもわかるログインの仕組み
New4
VB.NET
VB.NETでStaticクラスを作る方法を完全ガイド!初心者でもわかるクラスとオブジェクト指向入門
人気記事
No.1
Java&Spring記事人気No1
VB.NET
VB.NETのインストール方法まとめ!Visual Studioを使った環境構築手順
No.2
Java&Spring記事人気No2
VB.NET
VB.NETプログラムの書き方を基礎から学ぼう!初心者が覚えるべき文法とは?
No.3
Java&Spring記事人気No3
VB.NET
VB.NETのDateTime型を完全マスター!日付と時間の操作を初心者向けに解説
No.4
Java&Spring記事人気No4
ASP.NET
ASP.NETを安定稼働させるためのIISアプリケーションプール設定完全ガイド【初心者向け】
No.5
Java&Spring記事人気No5
VB.NET
VB.NETの構文ルールまとめ!インデント・改行・予約語など初心者が最初に覚えるべきポイント
No.6
Java&Spring記事人気No6
VB.NET
VB.NETで日付を文字列に変換!ToStringやFormatの使い方を徹底解説
No.7
Java&Spring記事人気No7
VB.NET
VB.NETのコンストラクタと初期化処理の書き方を初心者向けに解説
No.8
Java&Spring記事人気No8
ASP.NET
ASP.NET WebFormsとは?基本概念と仕組みを初心者向けにやさしく解説