中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#/.NET如何讀取或修改文件的創建時間及修改時間

發布時間:2021-06-07 11:20:35 來源:億速云 閱讀:285 作者:小新 欄目:開發技術

小編給大家分享一下C#/.NET如何讀取或修改文件的創建時間及修改時間,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

前言

手工在博客中添加 Front Matter 文件頭可是個相當費事兒的做法,這種事情就應該自動完成。

.NET 中提供了非常方便的修改文件創建時間的方法,使用這種方法,能夠幫助自動完成一部分文件頭的編寫或者更新。

相關類型

.NET 中提供了兩個不同的設置創建和修改時間的入口:

File 靜態類

FileInfo 類

C#/.NET如何讀取或修改文件的創建時間及修改時間

▲ File 靜態類的方法

C#/.NET如何讀取或修改文件的創建時間及修改時間

▲ 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如何讀取或修改文件的創建時間及修改時間”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

准格尔旗| 安西县| 湖口县| 松江区| 革吉县| 中江县| 商城县| 新余市| 宣威市| 黄骅市| 溆浦县| 中西区| 宁乡县| 公安县| 德江县| 吉木乃县| 陵川县| 武汉市| 汶上县| 布拖县| 伊宁市| 泸定县| 原阳县| 勃利县| 准格尔旗| 南投市| 武宣县| 分宜县| 白河县| 舒城县| 韩城市| 泰兴市| 麦盖提县| 颍上县| 聂拉木县| 丽水市| 柳江县| 嘉义市| 睢宁县| 上栗县| 台山市|