存储在数据湖存储中的文件的修改和到期时间

时间:2018-02-20 11:21:22

标签: azure azure-data-lake u-sql

我正在使用Mircosoft提供的.NET API来获取我的代码中存储在data lake store中的文件信息。这些文件由usqljob作业生成。 当我使用以下声明时:

m_adlsFileSystemClient.FileSystem.GetFileStatus(m_adlsAccountName,fileName).FileStatus.ModificationTime

然后它给出了自纪元以来的数字刻度,这是一个长类型值。 当我尝试获取文件的到期时间时,会发生同样的事情:

m_adlsFileSystemClient.FileSystem.GetFileStatus(m_adlsAccountName,fileName).FileStatus.ExpirationTime.

如何获取到期时间和修改的日期时间类型值? 我知道我可以将这些刻度添加到日期时间类型值。但是我应该将它添加到哪个日期时间?

先谢谢

1 个答案:

答案 0 :(得分:0)

这是我尝试过的,对我来说很好:

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);

它给了我正确的结果。