我正在使用 Mircosoft 提供的 .NET API 来获取代码中数据湖存储中存储的文件信息。这些文件是由 usqljob 作业生成的。 当我使用以下语句时:
m_adlsFileSystemClient.FileSystem.GetFileStatus(m_adlsAccountName,fileName).FileStatus.ModificationTime
然后它给我自纪元以来的数字刻度,这是一个长类型值。 当我尝试获取文件的过期时间时,也会发生同样的情况:
m_adlsFileSystemClient.FileSystem.GetFileStatus(m_adlsAccountName,fileName).FileStatus.ExpirationTime.
如何获取过期时间和修改时间的日期时间类型值? 我知道我可以将这些刻度添加到日期时间类型值中。但我应该将其添加到哪个日期时间?
提前致谢
最佳答案
这是我尝试过的并且对我来说效果很好:
DateTime epoch = new DateTime(1970, 01, 01, 00, 00, 00, DateTimeKind.Utc);
int ticks = m_adlsFileSystemClient.FileSystem.GetFileStatus(m_adlsAccountName, file).FileStatus.ModificationTime;
上面的行将以自纪元以来的刻度形式返回修改时间。
modificationTime = epoch.AddMilliseconds(ticks );
int ticks = m_adlsFileSystemClient.FileSystem.GetFileStatus(m_adlsAccountName, file).FileStatus.ModificationTime;
expirationTime = epoch.AddMilliseconds( ticks);
它给了我正确的结果。
关于azure - 数据湖存储中存储的文件的修改和过期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48884164/