2012-04-16 89 views
2

我有一個字符串,看起來像C#格式的字符串

4/2/2012 12:00 AM 
12/30/1899 10:00 AM 

我想這樣的第一個日期/時間戳記類似於

2012年4月2日

格式化字符串

第二個應該像

10: 00 AM

應該使用空格作爲分隔字符串的手段嗎?

回答

7

有關完整的字符串 - >

string s= DateTime.Parse("4/2/2012 12:00 AM").ToString("d/M/yyyy hh:mm tt"); 

對於分隔的字符串 - >

string date=DateTime.Parse("4/2/2012 12:00 AM").ToString("d/M/yyyy"); 
string time = DateTime.Parse("4/2/2012 12:00 AM").ToString("hh:mm tt"); 
+1

值得看的'DateTime.TryParse'也 - 如果不錯的輸入字符串不能保證正確格式化。如果解析成功,則返回true。 – 2012-04-16 13:06:24

+1

string date = DateTime.Parse(「2012年4月2日12:00 AM」)。ToString(「d/M/YYYY」);應該是字符串日期= DateTime.Parse(「4/2/2012 12:00 AM」)。ToString(「d/M/yyyy」); – 2012-04-16 13:19:49

1

看一看here
只需添加.Tostring("")""之間添加的圖案,如圖所示在現場

+0

雖然這可能會在理論上回答這個問題,[這將是更可取的](http://meta.stackexchange.com/q/8259)在這裏包括答案的基本部分,並提供參考鏈接。 – 2012-04-16 16:22:12

1

使用以下功能:

 string dstr = "4/2/2012 12:00";   
    DateTime dtime=Convert.ToDateTime(dstr) 
    string dt1 = dtime.ToShortDateString();//to get the date 
    string dt2 = dtime.ToShortTimeString();//to get the time 
0
DateTime foo = DateTime.Parse("4/2/2012 12:00 AM"); 
string date = foo.ToShortDateString(); 
string time = foo.ToShortTimeString(); 
1
DateTime dt; 
if (DateTime.TryParse("4/2/2012 12:00 AM",dt)) 
{ 
    String Result = ""; 
    if (DateTime.Date > DateTime.MinValue) 
    Result = dateTime.ToString("d/M/YYYY"); 
    if (DateTime.TimeOfDay > TimeSpan.MinValue) 
    Result += dateTime.ToString("hh:mm tt"); 
}