繁体   English   中英

Windows上的时间戳类似于Unix时间戳和文件操作

[英]Timestamp on Windows similar to Unix timestamp and file manipulations

我知道linux有时间戳信息可用于编。 郎。 这非常方便。

我在开发程序,我需要将日期时间附加到创建的文件中。 而且应该是唯一的

以后我想解析文件,但是我只想解析最新的文件。

.net中是否有诸如* nix系统中的时间戳之类的选项?

有任何例子吗?

谢谢。

您可以使用DateTime结构的Ticks属性。 它与UNIX时间戳不兼容,但是可以用于返回代表日期和时间的长整数(Int64),精度为百万分之一秒。 例如

DateTime.Now.Ticks

在撰写本文时,此值返回634074617762026300

您可以在构造函数中将刻度线转换回DateTime。 例如

DateTime date = new DateTime(634074617762026300);

如果要从文件中获取时间戳,请查看FileInfo类。 如果要将UNIX时间戳添加到文件中(也许添加到文件名或如您所说,附加到末尾),则此函数为您提供UNIX时间戳:

public static int UnixTimestamp()
{
    var utcEpoch = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
    var utcNow = DateTime.UtcNow;
    var span = utcNow - utcEpoch;
    return (int)span.TotalSeconds;
}

基于“唯一”和文件名的时间戳是矛盾的要求。 当机器速度变快时,它会崩溃。 当程序的一个以上实例运行时,尝试检查文件是否已存在的解决方法会崩溃。 只有Path.GetTempFileName()可以保证完全唯一的名称。 使用FileInfo.CreationTimeUtc查找最后一个。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM