我正在将字符串转换为 DateTime 并让字符串像这样输入:
string dateTimeBeforeDayTen = '2/05/2016';
string dateTimeBeforeAfterTen = '12/05/2016';
现在,如果我正在解析 dateTimeBeforeAfterTen,我知道我可以使用:
DateTime myDateTime;
DateTime.TryParseExact(dateTimeBeforeAfterTen, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out myDateTime);
但是如果我想为它们中的任何一个解析我该怎么办。我知道我可以:
DateTime myDateTime;
if(!DateTime.TryParseExact(dateTimeBeforeAfterTen, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out myDateTime));
DateTime.TryParseExact(dateTimeBeforeAfterTen, "d/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out myDateTime);
但是有更好的方法吗?我将 DateTime 格式存储在数据库中,并希望将其保留为单个字符串。
最佳答案
单个“d”将在一天和两天内有效。所以只需使用“d/MM/yyyy”。
"d"
The day of the month, from 1 through 31.
2009-06-01T13:45:30 -> 1
2009-06-15T13:45:30 -> 15
这个有效:
string dateTimeBeforeDayTen = "2/05/2016";
string dateTimeBeforeAfterTen = "12/05/2016";
DateTime myDateTime, myDateTime2;
DateTime.TryParseExact(dateTimeBeforeDayTen, "d/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out myDateTime);
DateTime.TryParseExact(dateTimeBeforeAfterTen, "d/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out myDateTime2);
关于c# - 解析时使 DateTime 的天前导零可选,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39106490/