DateTimeOffset.Now プロパティ

定義

現地時刻と世界協定時刻 (UTC) の差をオフセットとして持つ、現在のコンピューターの現在日時に設定された DateTimeOffset オブジェクトを取得します。Gets a DateTimeOffset object that is set to the current date and time on the current computer, with the offset set to the local time's offset from Coordinated Universal Time (UTC).

public:
 static property DateTimeOffset Now { DateTimeOffset get(); };
public static DateTimeOffset Now { get; }
member this.Now : DateTimeOffset
Public Shared ReadOnly Property Now As DateTimeOffset

プロパティ値

ローカル タイム ゾーンと世界協定時刻 (UTC) の差をオフセットとして持つ、現在の現地時刻に設定された DateTimeOffset オブジェクト。A DateTimeOffset object whose date and time is the current local time and whose offset is the local time zone's offset from Coordinated Universal Time (UTC).

次の例では、Now プロパティを使用して現在の日付と時刻を取得し、DateTimeOffset の種類でサポートされている標準の日時書式指定文字列をそれぞれ使用して表示します。The following example uses the Now property to retrieve the current date and time and displays it by using each of the standard date and time format strings supported by the DateTimeOffset type.

using System;

public class Example
{
   public static void Main()
   {
      String[] fmtStrings = { "d", "D", "f", "F", "g", "G", "M", 
                              "R", "s", "t", "T", "u", "y" };
      
      DateTimeOffset value = DateTimeOffset.Now;
      // Display date in default format.
      Console.WriteLine(value);
      Console.WriteLine();
            
      // Display date using each of the specified formats.
      foreach (var fmtString in fmtStrings)
         Console.WriteLine("{0} --> {1}", 
                           fmtString, value.ToString(fmtString));
   }
}
// The example displays output similar to the following:
//    11/19/2012 10:57:11 AM -08:00
//    
//    d --> 11/19/2012
//    D --> Monday, November 19, 2012
//    f --> Monday, November 19, 2012 10:57 AM
//    F --> Monday, November 19, 2012 10:57:11 AM
//    g --> 11/19/2012 10:57 AM
//    G --> 11/19/2012 10:57:11 AM
//    M --> November 19
//    R --> Mon, 19 Nov 2012 18:57:11 GMT
//    s --> 2012-11-19T10:57:11
//    t --> 10:57 AM
//    T --> 10:57:11 AM
//    u --> 2012-11-19 18:57:11Z
//    y --> November, 2012
Module Example
   Public Sub Main()
      Dim fmtStrings() As String = { "d", "D", "f", "F", "g", "G", 
                                     "M", "R", "s", "t", "T", "u",
                                     "y" }
      
      Dim value As DateTimeOffset = DateTimeOffset.Now
      ' Display date in default format.
      Console.WriteLine(value)
      Console.WriteLine()
            
      ' Display date using each of the specified formats.
      For Each fmtString in fmtStrings
         Console.WriteLine("{0} --> {1}", 
                           fmtString, value.ToString(fmtString))
      Next
   End Sub
End Module
' The example displays output similar to the following:
'    11/19/2012 10:57:11 AM -08:00
'    
'    d --> 11/19/2012
'    D --> Monday, November 19, 2012
'    f --> Monday, November 19, 2012 10:57 AM
'    F --> Monday, November 19, 2012 10:57:11 AM
'    g --> 11/19/2012 10:57 AM
'    G --> 11/19/2012 10:57:11 AM
'    M --> November 19
'    R --> Mon, 19 Nov 2012 18:57:11 GMT
'    s --> 2012-11-19T10:57:11
'    t --> 10:57 AM
'    T --> 10:57:11 AM
'    u --> 2012-11-19 18:57:11Z
'    y --> November, 2012

次の例では、NowMillisecond のプロパティを使用して、システムクロックの解像度を決定します。The following example uses the Now and Millisecond properties to determine the resolution of the system clock. ミリ秒部分の値が変更された場合にのみ、時間が表示されます。It displays the time only when the value of its millisecond component has changed.

DateTimeOffset dto;
int ctr = 0;
int ms = 0;
do {
   dto = DateTimeOffset.Now;
   if (dto.Millisecond != ms)
   {
      ms = dto.Millisecond;
      Console.WriteLine("{0}:{1:d3} ms. {2}", 
                        dto.ToString("M/d/yyyy h:mm:ss"), 
                        ms, dto.ToString("zzz"));
      ctr++;
   }
} while (ctr < 100);
Dim dto As DateTimeOffset
Dim ctr As Integer
Dim ms As Integer
Do
   dto = DateTimeOffset.Now
   If dto.Millisecond <> ms Then
      ms = dto.Millisecond
      Console.WriteLine("{0}:{1:d3} ms. {2}", _
                        dto.ToString("M/d/yyyy h:mm:ss"), _
                        ms, dto.ToString("zzz"))
      ctr += 1
   End If
Loop While ctr < 100

注釈

現在の現地時刻のミリ秒部分の精度は、システムクロックの解決によって異なります。The precision of the current local time's millisecond component depends on the resolution of the system clock. Windows NT 3.5 以降および Windows Vista オペレーティング システムでは、クロックの解像力は約 10-15 ミリ秒です。On Windows NT 3.5 and later, and Windows Vista operating systems, the clock's resolution is approximately 10-15 milliseconds.

適用対象

こちらもご覧ください