簡體   English   中英

將日期字符串轉換為日期格式

[英]converting date string to date format

我已經嘗試了與Stackoverflow一樣多的建議,但沒有得到理想的結果。 任何幫助將非常感激。

我的日期字符串是“ 04-Dec-2013 14:14:02.143”,我想將其完全轉換為DateTime格式。

這是我嘗試的最后一個建議:

String MyString;                            
MyString = "04-Dec-2013 14:14:02.143";

DateTime MyDateTime;
MyDateTime = new DateTime();

MyDateTime = DateTime.ParseExact(MyString, "dd-MMM-yyyy HH:mm:ss.fff",
                                           null);

但是,我不斷收到“ 04/12/2013 14:14:02”的不良結果,而是希望它是“ 04-Dec-2013 14:14:02.143”。

有什么建議么?

是的,您應該閱讀有關DateTime結構的信息。 它沒有附加任何格式信息 ,它只是表示時間點的純數字。

當您嘗試使用ToString(format)方法獲取數據的string表示形式時,格式就起作用了。

每次調用ToString ,請使用格式字符串以所需的日期格式獲取日期:

var stringDateRespresentation = dateValue.ToString("dd-MMM-yyyy HH:mm:ss.fff");

為了使事情變得容易,您應該到處傳遞普通的,無格式的DateTime實例,並僅在將其呈現給用戶時使用ToString方法將其更改為string

@MarcinJuraszek在這個問題上有更好的答案,但是它不能解決不同日期時間模式的問題,因為偉大的SO用戶將其他問題標記為重復。

        string MyString = "Dec-12-2013 14:14:02.143";
        CultureInfo ukCulture = new CultureInfo("en-GB");
        ukCulture.DateTimeFormat.ShortDatePattern = "MMM-dd-yyyy HH:mm:ss.fff";
        DateTime myDateTime = DateTime.Parse(MyString, ukCulture.DateTimeFormat);
        string QbDate = myDateTime.ToString("dd-MMM-yyyy HH:mm:ss.fff");

要解決不同日期時間模式的問題,請覆蓋任何區域性的任何日期模式

如@MarcinJuraszek所提到的,當您將其轉換回字符串時,該格式會顯示為圖片。 您在ParseExact中提到的格式用於解析。 即如何將MyString解析以創建DateTime對象。

請參見下面的示例,以便您了解如何使用ParseExact格式字符串。

如果您使用MyDateTime.ToString(“ dd-MMM-yyyy HH:ss:mm.fff”); 而是在ParseExact中(請參閱我交換了mm和ss),您將獲得“ 12/4/2013 2:02:14 PM”而不是“ 12/4/2013 2:14:02 PM”

暫無
暫無

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

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