亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將字符串轉換為具有前導零的日期時間 C#

將字符串轉換為具有前導零的日期時間 C#

C#
青春有我 2022-06-12 15:02:39
我有一個格式的日期時間MM/dd/yyyy:string datetime = "05/16/2018"現在,根據要求,我需要將其轉換string為DateTime. 每當我這樣做時,它都會刪除前導零。DateTime dt = DateTime.Parse(datetime, Globalization.CultureInfo.InvariantCulture, Globalization.DateTimeStyles.None)在這里,它給出了輸出,5/16/2018但我需要它作為05/16/2018. 那么,我該如何實現這個結果呢?
查看完整描述

3 回答

?
富國滬深

TA貢獻1790條經驗 獲得超9個贊

您需要了解 aDateTime只是表示時間點的對象。它不存儲有關其格式化方式的信息。以下是相同的DateTime,只是格式不同:


05/16/2018

5/16/2018

因為它們代表同一個時間點。


這就像行為方式int一樣。它也會“刪除你的前導零”:


int a = 05;

Console.WriteLine(a); // just prints "5".

因為05和5是相同的int,就目前int而言。


是否在 a 中添加前導零DateTime取決于您如何格式化它。它們僅在您將您的轉換DateTime為字符串時出現。05/16/2018并且5/16/2018是不同string的。


如果你想要前導零,只需指定一個日期格式,就像dd/MM/yyyy你想輸出它一樣:


Console.WriteLine(dateTime.toString("dd/MM/yyyy")); // prints leading zeroes!


查看完整回答
反對 回復 2022-06-12
?
桃花長相依

TA貢獻1860條經驗 獲得超8個贊

首先,您的字符串DateTime格式(MM/dd/yyyy)令人困惑!它將為字符串 DataTime 值(如"05/08/2018". 所以你必須使用ParseExact而不是Parse如下:

DateTime dt = DateTime.ParseExact(datetime,"MM/dd/yyyy", CultureInfo.InvariantCulture);

它給出的輸出為 2018 年 5 月 16 日,但我需要它作為 2018 年 5 月 16 日。那么,我該如何實現這個結果呢?

您可以簡單地實現這一點,我將您的機器DateTime格式更改為前導零DataTime格式!因為默認情況下 C#DateTime采用機器格式的Datatime格式。

好吧,我還檢查了測試控制臺應用程序,以確認如果您的機器格式包含前導零,則轉換后的DateTime可以包含前導零,而無需將其轉換為字符串。DateTime


查看完整回答
反對 回復 2022-06-12
?
呼啦一陣風

TA貢獻1802條經驗 獲得超6個贊

"5/16/2018"是字符串表示 od DateTime 值。如果要以前導零輸出,可以使用自定義格式:

dt.ToString("dd/MM/yyyy");


查看完整回答
反對 回復 2022-06-12
  • 3 回答
  • 0 關注
  • 222 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號