我的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()
,但仍然没有发生任何事情。
有什么建议吗?
答案 0 :(得分:5)
DateTime
没有任何隐式格式。它只有日期和时间值。
仅限格式化主题 。如果你想获得它的字符串表示,你可以使用.ToString()
方法,如;
string s = dateTimePicker1.Value.ToString("MM/dd/yyyy hh:mm:ss",
CultureInfo.InvariantCulture);
请记住,mm
说明符是分钟,MM
说明符是几个月。另外hh
说明符用于12-hour clock,HH
说明符用于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));