[英]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.