msm*_*cic 1 c# datetimeoffset .net-5
我将日期作为字符串输入,格式为MM/dd/yy.
我正在尝试将其转换为DateTimeOffset以下方式:
string dateString = "02/11/48";
DateTimeOffset.TryParseExact(
dateString,
"MM/dd/yy",
CultureInfo.InvariantCulture,
DateTimeStyles.None,
out DateTimeOffset date);
Run Code Online (Sandbox Code Playgroud)
然而,当这个字符串被转换为 时DateTimeOffset,年份被设置为 1948。由于业务逻辑,我知道那里的日期总是有最近的未来年份,所以年份应该是 2048。
有没有办法将字符串转换为DateTimeOffset这种方式,或者在解析后我是否必须在其上添加额外的逻辑?
您可以使用这种更简单的方法:
string dateString = "02/11/48";
DateTimeOffset.TryParseExact(
dateString,
"MM/dd/yy",
CultureInfo.InvariantCulture,
DateTimeStyles.None,
out DateTimeOffset date);
if (date < DateTimeOffset.UtcNow)
{
date = date.AddYears(100);
}
Run Code Online (Sandbox Code Playgroud)
如果解析的值在现在之前,它只会增加 100 年。
| 归档时间: |
|
| 查看次数: |
67 次 |
| 最近记录: |