Directory.GetLastAccessTimeUtc(String) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
返回上次访问指定文件或目录的日期和时间,其格式为协调通用时 (UTC)。
public:
static DateTime GetLastAccessTimeUtc(System::String ^ path);
public static DateTime GetLastAccessTimeUtc (string path);
static member GetLastAccessTimeUtc : string -> DateTime
Public Shared Function GetLastAccessTimeUtc (path As String) As DateTime
参数
- path
- String
要获取其访问日期和时间信息的文件或目录。
返回
一个结构,它被设置为上次访问指定文件或目录的日期和时间。 该值用 UTC 时间表示。
例外
调用方没有所要求的权限。
.NET Framework 和 2.1 之前的 .NET Core 版本:path
是一个零长度字符串,仅包含空格,或者包含一个或多个无效字符。 你可以使用 GetInvalidPathChars() 方法查询无效字符。
path
为 null
。
指定的路径和/或文件名超过了系统定义的最大长度。
path
参数格式无效。
示例
以下示例演示了使用协调世界时 (UTC) 输出时的输出差异。
// This sample shows the differences between dates from methods that use
//coordinated universal time (UTC) format and those that do not.
using namespace System;
using namespace System::IO;
int main()
{
// Set the directory.
String^ n = "C:\\test\\newdir";
//Create two variables to use to set the time.
DateTime dtime1 = DateTime(2002,1,3);
DateTime dtime2 = DateTime(1999,1,1);
//Create the directory.
try
{
Directory::CreateDirectory( n );
}
catch ( IOException^ e )
{
Console::WriteLine( e );
}
//Set the creation and last access times to a variable DateTime value.
Directory::SetCreationTime( n, dtime1 );
Directory::SetLastAccessTimeUtc( n, dtime1 );
// Print to console the results.
Console::WriteLine( "Creation Date: {0}", Directory::GetCreationTime( n ) );
Console::WriteLine( "UTC creation Date: {0}", Directory::GetCreationTimeUtc( n ) );
Console::WriteLine( "Last write time: {0}", Directory::GetLastWriteTime( n ) );
Console::WriteLine( "UTC last write time: {0}", Directory::GetLastWriteTimeUtc( n ) );
Console::WriteLine( "Last access time: {0}", Directory::GetLastAccessTime( n ) );
Console::WriteLine( "UTC last access time: {0}", Directory::GetLastAccessTimeUtc( n ) );
//Set the last write time to a different value.
Directory::SetLastWriteTimeUtc( n, dtime2 );
Console::WriteLine( "Changed last write time: {0}", Directory::GetLastWriteTimeUtc( n ) );
}
// Obviously, since this sample deals with dates and times, the output will vary
// depending on when you run the executable. Here is one example of the output:
//Creation Date: 1/3/2002 12:00:00 AM
//UTC creation Date: 1/3/2002 8:00:00 AM
//Last write time: 12/31/1998 4:00:00 PM
//UTC last write time: 1/1/1999 12:00:00 AM
//Last access time: 1/2/2002 4:00:00 PM
//UTC last access time: 1/3/2002 12:00:00 AM
//Changed last write time: 1/1/1999 12:00:00 AM
// This sample shows the differences between dates from methods that use
//coordinated universal time (UTC) format and those that do not.
using System;
using System.IO;
namespace IOSamples
{
public class DirectoryUTCTime
{
public static void Main()
{
// Set the directory.
string n = @"C:\test\newdir";
//Create two variables to use to set the time.
DateTime dtime1 = new DateTime(2002, 1, 3);
DateTime dtime2 = new DateTime(1999, 1, 1);
//Create the directory.
try
{
Directory.CreateDirectory(n);
}
catch (IOException e)
{
Console.WriteLine(e);
}
//Set the creation and last access times to a variable DateTime value.
Directory.SetCreationTime(n, dtime1);
Directory.SetLastAccessTimeUtc(n, dtime1);
// Print to console the results.
Console.WriteLine("Creation Date: {0}", Directory.GetCreationTime(n));
Console.WriteLine("UTC creation Date: {0}", Directory.GetCreationTimeUtc(n));
Console.WriteLine("Last write time: {0}", Directory.GetLastWriteTime(n));
Console.WriteLine("UTC last write time: {0}", Directory.GetLastWriteTimeUtc(n));
Console.WriteLine("Last access time: {0}", Directory.GetLastAccessTime(n));
Console.WriteLine("UTC last access time: {0}", Directory.GetLastAccessTimeUtc(n));
//Set the last write time to a different value.
Directory.SetLastWriteTimeUtc(n, dtime2);
Console.WriteLine("Changed last write time: {0}", Directory.GetLastWriteTimeUtc(n));
}
}
}
// Obviously, since this sample deals with dates and times, the output will vary
// depending on when you run the executable. Here is one example of the output:
//Creation Date: 1/3/2002 12:00:00 AM
//UTC creation Date: 1/3/2002 8:00:00 AM
//Last write time: 12/31/1998 4:00:00 PM
//UTC last write time: 1/1/1999 12:00:00 AM
//Last access time: 1/2/2002 4:00:00 PM
//UTC last access time: 1/3/2002 12:00:00 AM
//Changed last write time: 1/1/1999 12:00:00 AM
// This sample shows the differences between dates from methods that use
//coordinated universal time (UTC) format and those that do not.
open System
open System.IO
// Set the directory.
let n = @"C:\test\newdir"
//Create two variables to use to set the time.
let dtime1 = DateTime(2002, 1, 3)
let dtime2 = DateTime(1999, 1, 1)
//Create the directory.
try
Directory.CreateDirectory n |> ignore
with :? IOException as e ->
printfn $"{e}"
//Set the creation and last access times to a variable DateTime value.
Directory.SetCreationTime(n, dtime1)
Directory.SetLastAccessTimeUtc(n, dtime1)
// Print to console the results.
printfn $"Creation Date: {Directory.GetCreationTime n}"
printfn $"UTC creation Date: {Directory.GetCreationTimeUtc n}"
printfn $"Last write time: {Directory.GetLastWriteTime n}"
printfn $"UTC last write time: {Directory.GetLastWriteTimeUtc n}"
printfn $"Last access time: {Directory.GetLastAccessTime n}"
printfn $"UTC last access time: {Directory.GetLastAccessTimeUtc n}"
//Set the last write time to a different value.
Directory.SetLastWriteTimeUtc(n, dtime2)
printfn $"Changed last write time: {Directory.GetLastWriteTimeUtc n}"
// Obviously, since this sample deals with dates and times, the output will vary
// depending on when you run the executable. Here is one example of the output:
//Creation Date: 1/3/2002 12:00:00 AM
//UTC creation Date: 1/3/2002 8:00:00 AM
//Last write time: 12/31/1998 4:00:00 PM
//UTC last write time: 1/1/1999 12:00:00 AM
//Last access time: 1/2/2002 4:00:00 PM
//UTC last access time: 1/3/2002 12:00:00 AM
//Changed last write time: 1/1/1999 12:00:00 AM
' This sample shows the differences between dates from methods that use
'coordinated universal time (UTC) format and those that do not.
Imports System.IO
Public Class DirectoryUTCTime
Public Shared Sub Main()
' Set the directory.
Dim n As String = "C:\test\newdir"
'Create two variables to use to set the time.
Dim dtime1 As New DateTime(2002, 1, 3)
Dim dtime2 As New DateTime(1999, 1, 1)
'Create the directory.
Try
Directory.CreateDirectory(n)
Catch e As IOException
Console.WriteLine(e)
End Try
'Set the creation and last access times to a variable DateTime value.
Directory.SetCreationTime(n, dtime1)
Directory.SetLastAccessTimeUtc(n, dtime1)
' Print to console the results.
Console.WriteLine("Creation Date: {0}", Directory.GetCreationTime(n))
Console.WriteLine("UTC creation Date: {0}", Directory.GetCreationTimeUtc(n))
Console.WriteLine("Last write time: {0}", Directory.GetLastWriteTime(n))
Console.WriteLine("UTC last write time: {0}", Directory.GetLastWriteTimeUtc(n))
Console.WriteLine("Last access time: {0}", Directory.GetLastAccessTime(n))
Console.WriteLine("UTC last access time: {0}", Directory.GetLastAccessTimeUtc(n))
'Set the last write time to a different value.
Directory.SetLastWriteTimeUtc(n, dtime2)
Console.WriteLine("Changed last write time: {0}", Directory.GetLastWriteTimeUtc(n))
End Sub
End Class
' Since this sample deals with dates and times, the output will vary
' depending on when you run the executable. Here is one example of the output:
' Creation Date: 1/3/2002 12:00:00 AM
' UTC creation Date: 1/3/2002 8:00:00 AM
' Last write time: 12/31/1998 4:00:00 PM
' UTC last write time: 1/1/1999 12:00:00 AM
' Last access time: 1/2/2002 4:00:00 PM
' UTC last access time: 1/3/2002 12:00:00 AM
' Changed last write time: 1/1/1999 12:00:00 AM
注解
注意
此方法可能返回不准确的值,因为它使用本机函数,其值可能不会由操作系统持续更新。
如果 参数中所述 path
的目录不存在,此方法返回 1601 年 1 月 1 日午夜 12:00, (C.E.) 协调世界时 (UTC) 。
有关常见 I/O 任务的列表,请参阅 常见 I/O 任务。