从品牌网站建设到网络营销策划,从策略到执行的一站式服务
小编给大家分享一下C#/.NET如何读取或修改文件的创建时间及修改时间,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
创新互联公司网站建设服务商,为中小企业提供网站设计、成都网站制作服务,网站设计,网站托管、服务器租用等一站式综合服务型公司,专业打造企业形象网站,让您在众多竞争对手中脱颖而出创新互联公司。前言
手工在博客中添加 Front Matter 文件头可是个相当费事儿的做法,这种事情就应该自动完成。
.NET 中提供了非常方便的修改文件创建时间的方法,使用这种方法,能够帮助自动完成一部分文件头的编写或者更新。
相关类型
.NET 中提供了两个不同的设置创建和修改时间的入口:
File 静态类
FileInfo 类
▲ File 静态类的方法
▲ FileInfo 类的方法
很明显,使用 FileInfo 类可以使用属性直接获取和赋值,用法上会比 File 方便,不过需要一个 FileInfo 的实例。
修改时间
我期待能够读取文件的创建和修改时间来获知博客文章的发布和修改时间。不过在此之前,我需要先根据 Markdown 文件元数据更新文件时间。
private void FixFileDate(FileInfo file, DateTimeOffset createdTime, DateTimeOffset modifiedTime) { // 更改文件的创建时间。 file.CreationTimeUtc = createdTime.UtcDateTime; // 更改文件的更新时间。 file.LastWriteTimeUtc = modifiedTime.UtcDateTime; // 更改文件最近一次访问的时间。 file.LastAccessTimeUtc = DateTimeOffset.Now.UtcDateTime; }
至于如何获取 Markdown 文件元数据中的时间,可以使用 YamlDotNet(当然,需要自己提取 YAML 元数据头)。
读取时间
当此后需要使用文件的创建时间来更新 YAML 元数据时,只需要读取这几个属性即可。
UpdateMetaTime(file, file.CreationTimeUtc, file.LastWriteTimeUtc); void UpdateMetaTime(FileInfo file, DateTimeOffset publishDate, DateTimeOffset date) { var publishDateString = date.ToLocalTime().ToString("yyyy-MM-dd HH:mm:ss zz"); var dateString = date.ToLocalTime().ToString("yyyy-MM-dd HH:mm:ss zz"); // 省略更新 YAML 元数据。 }
关于 UTC 时间
也许你注意到以上我使用的时间类型都是 DateTimeOffset 而不是 DateTime,这是因为 DateTimeOffset 中记录了时区信息,不至于在使用的过程中丢掉时区信息,出现重复时间转换,发生时间错误。
看完了这篇文章,相信你对“C#/.NET如何读取或修改文件的创建时间及修改时间”有了一定的了解,如果想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图