如何在c#中将字符串转换为特定格式的日期时间,并将其分配给date属性
本文关键字:时间 日期 date 分配 属性 定格 字符串 转换 格式 | 更新日期: 2023-09-27 18:12:02
我正在使用。tostring()将"dd/MM/yyyy"格式转换为"yyyy-MM-dd",但如何在日期属性中分配此字符串结果,因为我使用QBO API,我需要仅在"yyyy-MM-dd"中传递交易日期变量,因为它不会接受字符串变量。如果我将字符串结果转换为datetime,那么结果将再次在"dd/MM/yyyy"中更改。
如何实现我的系统datetime时间格式为English UK
你可以这样做:
String initial = "12/06/2014" ;
String newFormat = DateTime.ParseExact(initial, "dd/MM/YYYY").ToString("yyyy-MM-dd");
// newFormat contains now 2014-06-12
EDIT:
ToString()可以改变格式,但它是字符串格式。我该怎么做?将.Tostring()结果"yyyy-MM-dd"分配给date属性接受"yyyy-MM-dd"格式的日期时间变量。如果我分配.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/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;
EDIT:根据您的要求执行
MyDateTimePicker.SelectedDate = dt.ToString("yyyy-MM-dd");
默认情况下,您的DateTime
值将始终作为系统本地返回。您需要在DateTime
对象上使用.ToString(string format)
。
上面的链接应该给你所有你需要的关于格式的信息。
我建议保持日期格式,无论你的pc(地区)有它,只有当你在屏幕上"显示"它时才操纵它。
你可以在显示的时候格式化它,像这样:
.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture)