在一个.cs文件中,我有以下内容:
public string DateEntered { get; set; }
在另一个.cs文件中,我有另一个字符串来获取某个日期。
public string HighestDate
{
get
{
...
return d.DateEntered;
}
}
想知道如何将输出从 yyyy-MM-dd 转换为 MM-dd-yyyy?它的使用范围如下:
data.HighestDate
提前谢谢。
编辑:
我认为代码的另一部分是不可或缺的:
var s = this...(i => i.DateEntered == DateTime.UtcNow.ToString("MM-dd-yyyy"));
但是,这只会更改日期格式的某些实例。
应始终将日期存储为DateTime
变量:
public DateTime DateEntered { get; set; }
然后,您可以在使用者应用程序 (UI) 中根据需要呈现日期:
public string HighestDate
{
get
{
...
return d.DateEntered.ToString("MM-dd-yyyy");
}
}
如果将它们都另存为 DateTime
,则可以使用 data.HighestDate.ToString("MM-dd-yyyy")
。否则,您可以使用:
DateTime.ParseExact(data.HighestDate, "yyyy-MM-dd", CultureInfo.InvariantCulture).ToString("MM-dd-yyyy")
尽管您仍应尝试修改代码以将它们另存为DateTime
对象,但这是正确的方法。(并节省内存空间。
https://msdn.microsoft.com/en-us/library/w2sa9yss%28v=vs.110%29.aspxhttps://msdn.microsoft.com/en-us/library/zdtaw1bw(v=vs.110).aspx
快速谷歌搜索会让你得到你的结果。
首先,我建议使用 DateTime 来存储值,并在最后一刻将其转换为字符串。
其次,使用 DateTime.ParseExact 从字符串中读取特定格式,并使用 ToString("某种格式")将 DateTime 格式化为字符串
DateTime parsedDate;
if (DateTime.TryParse(data.HighestDate, out parsedDate))
{
var reformatted = parsedDate.ToString("MM-dd-yyyy");
}