我有一个mm/dd格式的字符串。例如,"04/13“需要转换为DateTime。
当我们使用Convert.ToDateTime("04/13")时,它给出的输出如下
4/13/ 2022 12:00上午12:00以当年即2022年上午12:00
与当前年份2022年不同,需要在输出中获得自定义年份,如“1900”或配置的年份。
我想要的输出是4/13/1900:00:00 AM有人能帮上忙吗
发布于 2022-04-13 11:48:59
您可以为此创建一个方法:
public static DateTime GetDate(string text, int year, int hour = 0, int min = 0, int sec = 0)
{
var str = $"{year}/{text} {hour:D2}:{min:D2}:{sec:D2}";
return DateTime.ParseExact(
str, "yyyy/MM/dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture);
}并使用它:
var date = GetDate("04/13", 1900, 12);
Console.WriteLine(date);发布于 2022-04-13 11:52:43
又好又容易
var year = "1900";
var date = DateTime.ParseExact($"04/13/{year}", "MM/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture);我确实注意到您在输出中指定了'12:00:00‘作为您想要的时间,但是没有提到更多关于这方面的信息,所以我没有包括它,但是它非常类似于我上面所做的工作,除非您会添加到您的时间中。
发布于 2022-04-13 11:45:59
要获得所需的输出,只需执行以下操作:
Convert.ToDateTime("4/13").AddYears(- desiredYearsToSubtract);然后,只需将所需的年份添加到配置中即可。
https://stackoverflow.com/questions/71856804
复制相似问题