日期时间 TryParse 问题

发布于 2024-11-27 05:48:35 字数 505 浏览 1 评论 0原文

我正在读取 csv 文件,其中一列的日期格式如下:日/月/年 例如:30/07/2010

但是当我使用 时DateTime.TryParse() 解析 datetinme 方法中的字符串 TryParse() 处理第一个数字,如月份(上面示例中的数字 30),所以我收到了错误的日期异常。

我该如何对 Datetime.TryParse() 说字符串中的第一个数字是天而不是月份?

更新:

为什么如果我将日期更改为月/日/年,例如:7/30/2010

这不起作用:

DateTime.TryParseExact("7/30/2010", "m/dd/yyyy", null, DateTimeStyles.None, out date);

有什么想法吗?

I am reading csv file where one of tha columns has date format like tat: Day/Month/Year eg: 30/07/2010

But when i am using DateTime.TryParse() to parse that sting in to datetinme method TryParse() treated first numbers like month (number 30 in example above), so i am getting incorrect date exception.

How may i say to Datetime.TryParse() that first numbers in string is day and not a month?

UPDATE:

Why if i changed date to Month/Day/Year eg: 7/30/2010

this not working:

DateTime.TryParseExact("7/30/2010", "m/dd/yyyy", null, DateTimeStyles.None, out date);

Any thoughts?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

梦毁影碎の 2024-12-04 05:48:35

了解如何使用自定义日期和时间格式字符串

另外,要使用自定义格式字符串,您需要使用 TryParseExact,ala:

DateTime dt;
DateTime.TryParseExact(dateTime, 
                       "dd/MM/yyyy", 
                       CultureInfo.InvariantCulture, 
                       DateTimeStyles.None, 
                       out dt);

Have a look into using a custom date and time format string.

Also, to use a custom format string, you need to use TryParseExact, ala:

DateTime dt;
DateTime.TryParseExact(dateTime, 
                       "dd/MM/yyyy", 
                       CultureInfo.InvariantCulture, 
                       DateTimeStyles.None, 
                       out dt);
自由范儿 2024-12-04 05:48:35

使用 DateTime.TryParseExact 方法

DateTime dateValue;
var dateString = "30/07/2010";
DateTime.TryParseExact(dateString, "dd/MM/yyyy", new CultureInfo("en-US"), DateTimeStyles.None, out dateValue);

Use the DateTime.TryParseExact method

DateTime dateValue;
var dateString = "30/07/2010";
DateTime.TryParseExact(dateString, "dd/MM/yyyy", new CultureInfo("en-US"), DateTimeStyles.None, out dateValue);
抠脚大汉 2024-12-04 05:48:35

尝试:

DateTime.ParseExact(string, "dd/MM/yyyy", null);

Try:

DateTime.ParseExact(string, "dd/MM/yyyy", null);
不爱素颜 2024-12-04 05:48:35

尝试使用 TryParseExact() 并传递日期的格式

DateTime.TryParseExact("30/07/2010", "dd/MM/yyyy", null, DateTimeStyles.None, out result)

Try using TryParseExact() and pass the format for your date

DateTime.TryParseExact("30/07/2010", "dd/MM/yyyy", null, DateTimeStyles.None, out result)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文