DateTimeOffset.Now 属性

定义

获取一个 DateTimeOffset 对象,该对象设置为当前计算机上的当前日期和时间,偏移量设置为本地时间与协调世界时 (UTC) 之间的偏移量。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

属性值

一个 DateTimeOffset 对象,其日期和时间为当前的本地时间,其偏移量为本地时区与协调世界时 (UTC) 之间的偏移量。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.

适用于

另请参阅