首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在C#中转换mm/dd时将特定年份添加到日期时间输出

如何在C#中转换mm/dd时将特定年份添加到日期时间输出
EN

Stack Overflow用户
提问于 2022-04-13 11:34:15
回答 3查看 34关注 0票数 0

我有一个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有人能帮上忙吗

EN

回答 3

Stack Overflow用户

发布于 2022-04-13 11:48:59

您可以为此创建一个方法:

代码语言:javascript
复制
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);
}

并使用它:

代码语言:javascript
复制
var date = GetDate("04/13", 1900, 12);      
Console.WriteLine(date);
票数 1
EN

Stack Overflow用户

发布于 2022-04-13 11:52:43

又好又容易

代码语言:javascript
复制
var year = "1900";
var date = DateTime.ParseExact($"04/13/{year}", "MM/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture);

我确实注意到您在输出中指定了'12:00:00‘作为您想要的时间,但是没有提到更多关于这方面的信息,所以我没有包括它,但是它非常类似于我上面所做的工作,除非您会添加到您的时间中。

票数 1
EN

Stack Overflow用户

发布于 2022-04-13 11:45:59

要获得所需的输出,只需执行以下操作:

代码语言:javascript
复制
Convert.ToDateTime("4/13").AddYears(- desiredYearsToSubtract);

然后,只需将所需的年份添加到配置中即可。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71856804

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档