日期时间转换为c#

时间:2015-03-08 09:28:40

标签: c# datetime

我的DateTime变量格式为"dd/mm/yyyy hh:mm:ss"。 我想将其转换为"mm/dd/yyyy hh:mm:ss"。 (前一天) 我试着像这样使用DateTime.parse:

DateTime dt = new DateTime();
dt = dateTimePicker1.Value;            
dt = DateTime.Parse(dt.ToString(), "mm/dd/yyyy", null);

但它无法正常工作。 我也尝试DateTime.ParseExact(),但仍然没有发生任何事情。

有什么建议吗?

4 个答案:

答案 0 :(得分:5)

DateTime没有任何隐式格式。它只有日期和时间值。

当您尝试获取文本表示时,

仅限格式化主题 。如果你想获得它的字符串表示,你可以使用.ToString()方法,如;

string s = dateTimePicker1.Value.ToString("MM/dd/yyyy hh:mm:ss", 
                                           CultureInfo.InvariantCulture);

请记住,mm说明符是分钟,MM说明符是几个月。另外hh说明符用于12-hour clockHH说明符用于24-hour clock表示。您可能想要使用HH

我使用InvariantCulture作为第二个参数,因为/:具有特殊含义,因为替换当前文化或提供的文化日期或时间分隔符。< / p>

答案 1 :(得分:0)

string date = dateTimePicker1.Value.ToString("MM/dd/yyyy");

答案 2 :(得分:0)

DateTime time = DateTime.Now;             
string format = "MMM ddd d HH:mm yyyy";    
Console.WriteLine(time.ToString(format));  

答案 3 :(得分:0)

您也可以使用以下代码进行预付款:

GregorianCalendar cal = new GregorianCalendar(); // or any type of calendar you want ...
string formatted = string.Format("{1:00}/{2:00}/{0} {3:00}:{4:00}:{5:00} ", 
       cal.GetYear(dt), cal.GetMonth(dt), cal.GetDayOfMonth(dt) , cal.GetHour(dt), cal.GetMinute(dt), cal.GetSecond(dt));