簡體   English   中英

將 yyyyyMMddHHmmssffff 字符串轉換為 DateTime.Parse 可接受值的優雅方法?

[英]Elegant way to convert yyyyyMMddHHmmssffff string into acceptable value for DateTime.Parse?

我有“202006260718083370”作為輸入值,我需要將其轉換成DateTime.Parse解析-able字符串。 除了下面的方法,你還能想到什么優雅的方法?

方法 1 - 在中間單獨插入字符串。

var input = "202006260718083370".Insert(5, "-")
                                .Insert(8, "-")
                                .Insert(11, " ")
                                .Insert(14, ":")
                                .Insert(17, ":")
                                .Insert(20, ".");

var dateTime  = DateTime.Parse("2020-06-26 07:18:08.3370") // What input looks like

方法 2 - 單獨傳入 new DateTime(....)

var year = "202006260718083370".Substring(0, 4);
var month = "202006260718083370".Substring(4, 2);
var date = "202006260718083370".Substring(6, 2);
var hour = "202006260718083370".Substring(8, 2);
var min = "202006260718083370".Substring(10, 2);
var sec = "202006260718083370".Substring(12, 2);
var mil = "202006260718083370".Substring(14, 4);

方法 3 - 與方法 2 幾乎相同。使用字符串數組和連接。 喜歡這里的答案。

DateTime.ParseExact與您的格式一起使用

從文檔:

將日期和時間的指定字符串表示形式轉換為其等效的 DateTime。 字符串表示的格式必須與指定的格式完全匹配,否則會引發異常。

var provider = CultureInfo.InvariantCulture;
var parsedDateTime = DateTime.ParseExact("202006260718083370", "yyyyMMddHHmmssffff", provider);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM