现在我想使用此代码将DateTime更改为{"MM/dd/yyyy"}格式。
string.Format("{0:MM:dd:yyyy}", DateTime.Now)并拯救它。
在获得保存的字符串后,我得到了{"MM/dd/yyyy"}格式的DateTime。现在我想把它转换成另一种格式,这样我就可以解析为DateTime了。当我试图将MM/dd/yyyy解析为DateTime时,出现了一个错误
"FormatException:字符串不能识别为有效的DateTime。“
提前谢谢。
发布于 2021-09-01 12:36:49
您可以使用DateTime.ParseExact,它允许您指定要排除输入的确切日期格式。
例如
var now = DateTime.Now;
Debug.Log(now.ToString("dd.MM.yyyy"));
var example1 = now.ToString("MM/dd/yyyy");
Debug.Log(example1);
var readTime1 = DateTime.ParseExact(example1, "MM/dd/yyyy", CultureInfo.InvariantCulture);
Debug.Log(readTime1.ToString("dd.MM.yyyy"));
var example2 = now.ToString("dd/MM/yyyy");
Debug.Log(example2);
var readTime2 = DateTime.ParseExact(example2, "dd/MM/yyyy", CultureInfo.InvariantCulture);
Debug.Log(readTime2.ToString("dd.MM.yyyy"));请参阅小提琴
发布于 2021-09-01 12:59:11
该格式仅适用于显示。
如果将其保存在C# DateTime变量中,则在保存它时不存在“格式”,此DateTime是一种结构数据类型,它是通用的,不绑定到任何特定格式。
如果要使用特定格式进行解析,可以使用:
// Parse date and time with custom specifier.
CultureInfo provider = CultureInfo.InvariantCulture;
dateString = "Sun 15 Jun 2008 8:30 AM -06:00";
format = "ddd dd MMM yyyy h:mm tt zzz";
DateTime myDate = DateTime.ParseExact(dateString, format, provider);您可以使用CultureInfo优化格式以满足您的需要。
如果需要将其保存为"MM/dd/yyyy",则应将其保存为字符串。
诚挚的问候
https://stackoverflow.com/questions/68994198
复制相似问题