2011-05-20 82 views
5

什么是添加零,以日期时间在C#中的最佳方式添加前导零日期时间C#

示例串“2011年9月10日上午九时二十分45秒”转换成字符串“09/10/2011上午九点20分45秒”,可以找到更多关于格式化日期

+0

你想放的前导零的'DateTime'对象或日期时间的ToString()方法的结果字符串?谢谢:) – Amedio 2011-05-20 08:28:16

+1

它是字符串,我不使用DateTime对象 – eomeroff 2011-05-20 08:32:57

回答

13

如果你说,这是两个字符串,那么你应该使用DateTime.TryParse方法:

DateTime dt; 
if (DateTime.TryParse("9/10/2011 9:20:45 AM", out dt)) 
{ 
    Console.WriteLine(dt.ToString("dd/MM/yyyy hh:mm:ss tt")); 
} 
else 
{ 
    Console.WriteLine("Error while parsing the date"); 
} 
+0

谢谢我会这样下去 – eomeroff 2011-05-20 08:49:23

5
myDate.ToString("dd/MM/yyyy hh:mm:ss tt") 
2
DateTime dt = ... 
dt.ToString("dd/MM/yyyy hh:mm:ss tt"); 
14
DateTime.Now.ToString("dd/MM/yyyy hh:mm:ss tt") // 12hour set 
DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss") // 24hour set 

更多信息/方法Here

从您发表评论

这是更好地使用以下方法来解析日期时间

DateTime date = DateTime.MinValue; 
DateTime.TryParse("9/10/2011 9:20:45 AM", out date); 
return date.ToString("MM/dd/yyyy hh:mm:ss tt") 

然后,您可以请检查是否失败通过比较DateTime.MinValue而不是崩溃,如果Convert.ToDatetime应用失败

+2

+1为12/24小时 – Jaymz 2011-05-20 08:29:09

+1

因为我只使用字符串是这个解决方案好, DateTime dateTime = Convert.ToDateTime(oldDate); String newDate = dateTime.ToString(“MM/dd/yyyy HH:mm:ss tt”);谢谢 – eomeroff 2011-05-20 08:35:18

+0

@SonOfOmer使用“MM/dd/yyyy HH:mm:ss tt”是双倍的。 HH显示24小时的时间,所以如果是下午2点,它会显示14。该tt还显示PM。最好使用hh:mm:ss tt或HH:mm:ss。 – 2011-05-20 08:44:59

1

您可以使用string.Format("{0:dd/MM/yyyy hh:mm:ss}", dateTime);

+1

我会给你几分钟来解决这个问题之前,我downvote ......提示:几个月/分钟? – Jaymz 2011-05-20 08:32:45

1

使用string stringVariable = string.Format("{0:dd/MM/yyyy hh:mm:ss tt}", dateTimeVariable);

0

只是用使用本系统的代码将帮助你..

;使用System.Collections.Generic;使用 System.ComponentModel;使用System.Data;使用System.Drawing;使用 System.Text;使用System.Windows.Forms;

命名空间DateTimeConvert { 公共部分Form1类:形式 { 公共Form1中() { 的InitializeComponent(); }

private void button1_Click(object sender, EventArgs e) 
    { 
     label1.Text= ConvDate_as_str(textBox1.Text); 
    } 

    public string ConvDate_as_str(string dateFormat) 
    { 
     try 
     { 
      char[] ch = dateFormat.ToCharArray(); 
      string[] sps = dateFormat.Split(' '); 
      string[] spd = sps[0].Split('.'); 
      dateFormat = spd[0] + ":" + spd[1]+" "+sps[1]; 
      DateTime dt = new DateTime(); 
      dt = Convert.ToDateTime(dateFormat); 
      return dt.Hour.ToString("00") + dt.Minute.ToString("00"); 
     } 
     catch (Exception ex) 
     { 
      return "Enter Correct Format like <5.12 pm>"; 
     } 

    } 


    private void button2_Click(object sender, EventArgs e) 
    { 
     label2.Text = ConvDate_as_date(textBox2.Text); 
    } 

    public string ConvDate_as_date(string stringFormat) 
    { 
     try 
     { 
      string hour = stringFormat.Substring(0, 2); 
      string min = stringFormat.Substring(2, 2); 
      DateTime dt = new DateTime(); 
      dt = Convert.ToDateTime(hour+":"+min); 
      return String.Format("{0:t}", dt); ; 
     } 
     catch (Exception ex) 
     { 
      return "Please Enter Correct format like <0559>"; 
     } 
    } 
} } 
+0

为什么它会帮助OP,OP为什么要用这个?请解释您的解决方案的优势! – markus 2012-12-11 23:07:55