首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过一次DateTime.ParseExact调用同时接受两位数和四位数的年份?

如何通过一次DateTime.ParseExact调用同时接受两位数和四位数的年份?
EN

Stack Overflow用户
提问于 2012-03-30 22:07:56
回答 4查看 3.6K关注 0票数 7

我使用一个与"MM/dd/yyyy h:mmt"类似的自定义格式字符串调用.NET的DateTime.ParseExact。此字符串处理四位数的年份,而不是两位数的年份。有没有办法在单个ParseExact调用中同时处理这两种情况?我试过"MM/dd/yy h:mmt",它只处理两位数的情况。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-03-30 22:10:14

您可以为这个ParseExact重载上的第二个参数传递一个格式字符串数组-这将包括2年和4年的变体。

代码语言:javascript
复制
DateTime.ParseExact(myDateTime, 
                    new []{"MM/dd/yy h:mmt", "MM/dd/yyyy h:mmt"},
                    CultureInfo.InvariantCulture,
                    DateTimeStyles.None)
票数 20
EN

Stack Overflow用户

发布于 2012-03-30 22:11:25

调用接受可能格式数组的DateTime.ParseExact的重载:

代码语言:javascript
复制
DateTime dt =
    DateTime.ParseExact(s, new[] { "MM/dd/yyyy h:mmt", "MM/dd/yy h:mmt" }, null, 0);

对于第三个参数,如果您的日期字符串针对用户的当前区域性进行了本地化,则传递nullDateTimeFormatInfo.CurrentInfo;如果您的日期字符串始终采用美国格式,则传递DateTimeFormatInfo.InvariantInfo

对于第四个参数,0等同于DateTimeStyles.None

请参阅MSDN Library documentation

票数 3
EN

Stack Overflow用户

发布于 2012-03-30 22:13:27

使用接受格式字符串数组的重载DateTime.ParseExact

MSDN:

代码语言:javascript
复制
string[] formats= {"MM/dd/yyyy h:mmt", "MM/dd/yy h:mmt"};


var dateTime = DateTime.ParseExact(dateString, formats, 
                                        new CultureInfo("en-US"), 
                                        DateTimeStyles.None);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9944571

复制
相关文章

相似问题

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