如何以特定格式将字符串转换为日期时间并将其分配给c#中的date属性
我正在使用.ToString()将“dd / MM / yyyy”格式转换为“yyyy-MM-dd”,但是如何在date属性中分配此字符串结果,因为我正在使用QBO API,我只需要传递事务日期变量在“yyyy-MM-dd”中,因为它不接受字符串变量。 如果我在datetime中转换字符串结果然后再次在“dd / MM / yyyy”中更改结果。
如何实现我的系统日期时间格式是英国英国。
这是一种可以做到的方法:
String initial = "12/06/2014" ; String newFormat = DateTime.ParseExact(initial, "dd/MM/YYYY").ToString("yyyy-MM-dd"); // newFormat contains now 2014-06-12
编辑:
ToString()可以更改格式,但它是字符串格式。 如何将.Tostring()结果“yyyy-MM-dd”分配给date属性,因为它只接受“yyyy-MM-dd”格式的datetime变量。 如果我再次将.Tostring()结果赋予日期变量,它将以“dd / MM / yyyy”格式更改
如果要将newFormat分配回DateTime,则必须解析它。
DateTime date = DateTime.ParseExact(newFormat , "yyyy-MM-dd");
您可以尝试首先解析字符串:
DateTime dt = DateTime.ParseExact(input, "dd/MM/yyyy", CultureInfo.InvariantCulture);
其中input
是包含日期的字符串,12/06/ 12/06/2014
。
然后你可以得到你想要的字符串,如下所示:
string output = dt.ToString("yyyy-MM-dd"); DateTime newDt = DateTime.ParseExact(input, "yyyy-MM-dd", CultureInfo.InvariantCulture);
有关DateTime.ParseExact
更多信息,请查看此处 。
首先从字符串创建一个DateTime
对象
DateTime dt = DateTime.ParseExact("12/06/2014", "dd/MM/yyyy", CultureInfo.InvariantCulture);
然后从那个对象你可以实现你想要的任何东西
dt.ToString("MM/dd/yyyy");
要么
MyDateTimePicker.SelectedDate = dt;
编辑:根据您的要求这样做
MyDateTimePicker.SelectedDate = dt.ToString("yyyy-MM-dd");
默认情况下,您的DateTime
值将始终作为系统本地返回。 您需要在DateTime
对象上使用.ToString(string format)
。
http://msdn.microsoft.com/en-us/library/8kb3ddd4%28v=vs.110%29.aspx
上面的链接应该为您提供格式化所需的所有信息。
我建议保留日期格式,但是你的电脑(地区)有它,并且只有当你在屏幕上“显示”时才操纵它。
您可以在显示时对其进行格式化,如下所示:
.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture)