C#のDateTime時間関数とは?主要メソッドの一覧とAddMillisecondsの使い方を解説
C#のDateTime構造体は、日付や時刻を扱うための多彩なメソッドとプロパティを備えています。たとえば、ある日の時間数や分数を取得することも可能です。
本記事では、その中でも特に時刻に関連する関数(メソッド)に焦点を当てて解説します。
C#の主な時間関連メソッド一覧
DateTimeに用意されているすべての関数については、MSDN(Microsoft Developer Network)をご参照ください。以下に、代表的な加算系メソッドをまとめました。
| No. | メソッドと概要 |
|---|---|
| 1 | AddDays(Double) このインスタンスの値に指定した日数を加算した、新しいDateTimeを返します。 |
| 2 | AddHours(Double) このインスタンスの値に指定した時間数を加算した、新しいDateTimeを返します。 |
| 3 | AddMilliseconds(Double) このインスタンスの値に指定したミリ秒数を加算した、新しいDateTimeを返します。 |
| 4 | AddMinutes(Double) このインスタンスの値に指定した分数を加算した、新しいDateTimeを返します。 |
| 5 | AddSeconds(Double) このインスタンスの値に指定した秒数を加算した、新しいDateTimeを返します。 |
| 6 | AddYears(Int32) このインスタンスの値に指定した年数を加算した、新しいDateTimeを返します。 |
AddMillisecondsメソッドの使い方
ここでは例として、AddMilliseconds(Double)メソッドを使用し、日時の値に指定したミリ秒を加算する方法を見ていきましょう。
サンプルコード
using System;
public class Demo {
public static void Main() {
string dateFormat = "MM/dd/yyyy hh:mm:ss.fffffff";
DateTime dateCurrent = new DateTime(2018, 7, 23, 13, 0, 0);
Console.WriteLine("元の日付: {0} ({1:N0} ticks)\n", dateCurrent.ToString(dateFormat), dateCurrent.Ticks);
DateTime dateNew = dateCurrent.AddMilliseconds(1);
Console.WriteLine("加算後の日付: {0} ({1:N0} ticks)", dateNew.ToString(dateFormat), dateNew.Ticks);
}
}実行結果
元の日付: 07/23/2018 01:00:00.0000000 (636,679,476,000,000,000 ticks) 加算後の日付: 07/23/2018 01:00:00.0010000 (636,679,476,000,010,000 ticks)
実行結果からわかるように、元の日時「2018年7月23日 13:00:00」に対してAddMilliseconds(1)を実行すると、ちょうど1ミリ秒が加算された新しいDateTimeオブジェクトが生成されます。Ticks(タイマー刻み)の値も10,000増加しており、1ミリ秒=10,000 ticksという関係が確認できます。
なお、これらのAdd系メソッドは元のDateTimeインスタンスを変更せず、常に新しいDateTimeを返す点に注意してください。DateTimeは不変(イミュータブル)な構造体であるためです。
-
HTML DOM Timeオブジェクトとは?dateTimeプロパティの使い方を解説
HTML DOM Timeオブジェクトとは?HTML DOMのTimeオブジェクトは、HTML5で導入された<time>要素をJavaScriptから操作するためのインターフェースです。<time>要素を活用することで、人間が読める形式の日付・時刻情報とともに、機械が解釈できる正確な時刻データをWebページに埋め込むことができます。<time>要素を作成するJavaScriptで新しい<time>要素を動的に生成するには、document.createElement()メソッドにTIMEを指定します。var timeObject = docume
-
HTML DOM の Time 要素 dateTime プロパティとは?取得・設定方法を実例付きで解説
HTML DOM の Time オブジェクトが持つ dateTime プロパティは、HTML の <time> 要素に設定された datetime 属性の値を取得(読み取り)したり、新しい値を設定(書き込み)したりするために使用されます。 datetime 属性は画面上には表示されず、機械が判読できる形式(ISO 8601 形式)で日時を記録します。これにより、検索エンジンやカレンダーアプリなどがページ内の日付・時刻情報を正確に解釈できるようになります。 dateTime プロパティの構文 1. 値を取得する場合(文字列として返す) timeObject.dateTime