如何以特定格式将字符串转换为日期时间并将其分配给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)