.NET TIPS コンピュータの現在時刻を設定するには?[C#、VB]デジタルアドバンテージ 遠藤 孝信2009/04/09 |
|
|
複数のコンピュータ(PC)でシステムを構成する場合、バッチ処理やログ取得などの観点から、各コンピュータに設定されている現在時刻を正確に一致させておく必要がある。
本稿では、時刻サーバや、ある特定の(サーバ)コンピュータなどから時刻を取得した際に、これをコンピュータに設定する方法について紹介する。
VB用のDateAndTimeモジュールの活用
.NET Frameworkのクラス・ライブラリでは、日付や時刻に関する機能は主にDateTime構造体(System名前空間)にまとめられているが、現在時刻を設定するという機能は、これには含まれていない。
このため、現在時刻を設定するには、Win32 APIであるSetLocalTime関数やSetSystemTime関数を直接呼び出すというのが主立った方法であるが、Visual Basic用のDateAndTimeモジュールを使っても設定可能であり、C#でもこちらを使う方が便利だ。
DateAndTimeモジュールは、正確には、DateAndTimeクラス(Microsoft.VisualBasic名前空間)であり、Microsoft.VisualBasic.dllに含まれている。
このクラスは、時刻を取得/設定するための「TimeOfDayプロパティ」と、日付を取得/設定するための「Todayプロパティ」を持っている。この2つのプロパティはどちらも静的プロパティであるため、インスタンスを作成せずに呼び出すことができる。以下にその記述例を示す。
| ||
現在の日時を設定するサンプル・プログラム(上:C#、下:VB) |
このサンプル・プログラムでは、現在の日時を「2038年1月19日12時14分8秒」に設定する。このプログラムを実行すると、すぐにWindows OSの現在日時が変更されるため、実際に試す場合には注意が必要だ。
カテゴリ:クラス・ライブラリ 処理対象:日付と時刻 使用ライブラリ:DateAndTimeクラス(Microsoft.VisualBasic名前空間) 使用ライブラリ:DateTimeクラス(System名前空間) |
|
「.NET TIPS」 |
Insider.NET フォーラム 新着記事
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|