FieldConverter ConverterKind.Date“dd/MM/yyyy”异常

2024-03-26

我尝试读取 csv 文件。 我的第五条记录包含日期:03/11/2008

这是我的一段代码:

    [FieldConverter(ConverterKind.Date, "dd/MM/yyyy")]
    public DateTime datum_5;

我的代码在此崩溃:

Result[] results= (Result[])engine.ReadFile(@"..\Data\expo.txt");

但除了这个例外: 行:1。列:41。字段:datum_5。将“03/11/2008”转换为类型时出错:“DateTime”。使用格式:“dd/MM/yyyy”

当我这样做时:

[FieldConverter(typeof(ConvertDate))]

        public DateTime datum_5;

有了这个:

internal class ConvertDate : ConverterBase
   {

       /// <summary>
       /// different forms for date separator : . or / or space
       /// </summary>
       /// <param name="from">the string format of date - first the day</param>
       /// <returns></returns>

       public override object StringToField(string from)
       {
           DateTime dt;

           if (DateTime.TryParseExact(from, "dd.MM.yyyy", null, DateTimeStyles.None, out dt))
               return dt;

           if (DateTime.TryParseExact(from, "dd/MM/yyyy", null, DateTimeStyles.None, out dt))
               return dt;

           if (DateTime.TryParseExact(from, "dd MM yyyy", null, DateTimeStyles.None, out dt))
               return dt;

           throw new ArgumentException("can not make a date from " + from, "from");

       }
   }

我遇到了这个异常:无法从 03/11/2008 开始约会 参数名称:来自

我究竟做错了什么?


它失败的原因是自定义日期格式字符串中的 / 是MSDN 中描述的特定于文化的 DateSeparator http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx#dateSeparator.

您正在指定null为了IFormatProvider参数,因此它使用当前区域性,该区域性可能具有除 / 之外的日期分隔符。

最好的解决方案是显式指定 CultureInfo.InvariantCulture(下面的第二个版本)。转义自定义日期格式字符串中的“/”,以便将其视为文字斜杠而不是日期分隔符也将起作用(下面的第一个版本)。

// Set current culture to a culture that uses "." as DateSeparator
Thread.CurrentThread.CurrentCulture = new CultureInfo("de-DE");
// This will work - escaping means it uses a literal / as the separator
DateTime.TryParseExact(s, @"dd\/MM\/yyyy", null, DateTimeStyles.None, out result);

// This is better - Culture.InvariantCulture uses / for the DateTimeFormatInfo.DateSeparator
// and you clearly express the intent to use the invariant culture
DateTime.TryParseExact(s, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out result);

// This will fail - / means use DateTimeFormatInfo.DateSeparator which is "." in the de-DE culture
DateTime.TryParseExact(s, "dd/MM/yyyy", null, DateTimeStyles.None, out result);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

FieldConverter ConverterKind.Date“dd/MM/yyyy”异常 的相关文章

  • std::vector 与 std::stack

    有什么区别std vector and std stack 显然 向量可以删除集合中的项目 尽管比列表慢得多 而堆栈被构建为仅后进先出的集合 然而 堆栈对于最终物品操作是否更快 它是链表还是动态重新分配的数组 我找不到关于堆栈的太多信息 但
  • 用于 FTP 的文件系统观察器

    我怎样才能实现FileSystemWatcherFTP 位置 在 C 中 这个想法是 每当 FTP 位置添加任何内容时 我都希望将其复制到我的本地计算机 任何想法都会有所帮助 这是我之前问题的后续使用 NET 进行选择性 FTP 下载 ht
  • 对类 static constexpr 结构的未定义引用,g++ 与 clang

    这是我的代码 a cp p struct int2 int x y struct Foo static constexpr int bar1 1 static constexpr int2 bar2 1 2 int foo1 return
  • 需要帮助优化算法 - 两百万以下所有素数的总和

    我正在尝试做一个欧拉计划 http projecteuler net问题 我正在寻找 2 000 000 以下所有素数的总和 这就是我所拥有的 int main int argc char argv unsigned long int su
  • 访问外部窗口句柄

    我当前正在处理的程序有问题 这是由于 vista Windows 7 中增强的安全性引起的 特别是 UIPI 它阻止完整性级别较低的窗口与较高完整性级别的窗口 对话 就我而言 我想告诉具有高完整性级别的窗口进入我们的应用程序 它在 XP 或
  • ASP.NET Core 3.1登录后如何获取用户信息

    我试图在登录 ASP NET Core 3 1 后获取用户信息 如姓名 电子邮件 id 等信息 这是我在登录操作中的代码 var claims new List
  • 两个静态变量同名(两个不同的文件),并在任何其他文件中 extern 其中一个

    在一个文件中将变量声明为 static 并在另一个文件中进行 extern 声明 我认为这会在链接时出现错误 因为 extern 变量不会在任何对象中看到 因为在其他文件中声明的变量带有限定符 static 但不知何故 链接器 瑞萨 没有显
  • 为什么这个字符串用AesCryptoServiceProvider第二次解密时不相等?

    我在 C VS2012 NET 4 5 中的文本加密和解密方面遇到问题 具体来说 当我加密并随后解密字符串时 输出与输入不同 然而 奇怪的是 如果我复制加密的输出并将其硬编码为字符串文字 解密就会起作用 以下代码示例说明了该问题 我究竟做错
  • 空指针与 int 等价

    Bjarne 在 C 编程语言 中写道 空指针与整数零不同 但 0 可以用作空指针的指针初始值设定项 这是否意味着 void voidPointer 0 int zero 0 int castPointer reinterpret cast
  • LINQ:使用 INNER JOIN、Group 和 SUM

    我正在尝试使用 LINQ 执行以下 SQL 最接近的是执行交叉联接和总和计算 我知道必须有更好的方法来编写它 所以我向堆栈团队寻求帮助 SELECT T1 Column1 T1 Column2 SUM T3 Column1 AS Amoun
  • 为什么使用小于 32 位的整数?

    我总是喜欢使用最小尺寸的变量 这样效果就很好 但是如果我使用短字节整数而不是整数 并且内存是 32 位字可寻址 这真的会给我带来好处吗 编译器是否会做一些事情来增强内存使用 对于局部变量 它可能没有多大意义 但是在具有数千甚至数百万项的结构
  • 有没有办法让 doxygen 自动处理未记录的 C 代码?

    通常它会忽略未记录的 C 文件 但我想测试 Callgraph 功能 例如 您知道在不更改 C 文件的情况下解决此问题的方法吗 设置变量EXTRACT ALL YES在你的 Doxyfile 中
  • 在 WPF 中使用 ReactiveUI 提供长时间运行命令反馈的正确方法

    我有一个 C WPF NET 4 5 应用程序 用户将用它来打开某些文件 然后 应用程序将经历很多动作 读取文件 通过许多插件和解析器传递它 这些文件可能相当大 gt 100MB 因此这可能需要一段时间 我想让用户了解 UI 中发生的情况
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win
  • C++ 继承的内存布局

    如果我有两个类 一个类继承另一个类 并且子类仅包含函数 那么这两个类的内存布局是否相同 e g class Base int a b c class Derived public Base only functions 我读过编译器无法对数
  • AWK:递归下降 CSV 解析器

    响应一个BASH 中的递归下降 CSV 解析器 https codereview stackexchange com questions 11727 need some advice or help with translation and
  • C++ 中的 include 和 using 命名空间

    用于使用cout 我需要指定两者 include
  • MySQL Connector C/C API - 使用特殊字符进行查询

    我是一个 C 程序 我有一个接受域名参数的函数 void db domains query char name 使用 mysql query 我测试数据库中是否存在域名 如果不是这种情况 我插入新域名 char query 400 spri
  • Mono 应用程序在非阻塞套接字发送时冻结

    我在 debian 9 上的 mono 下运行一个服务器应用程序 大约有 1000 2000 个客户端连接 并且应用程序经常冻结 CPU 使用率达到 100 我执行 kill QUIT pid 来获取线程堆栈转储 但它总是卡在这个位置
  • 现代编译器是否优化乘以 1 和 -1

    如果我写 template

随机推荐

  • XTS 中滚动列表的时间不等

    我有报价级别的股票数据 并且想创建前 10 秒所有报价的滚动列表 下面的代码可以工作 但对于大量数据需要很长时间 我想矢量化这个过程或以其他方式使其更快 但我没有想出任何办法 任何正确方向的建议或推动将不胜感激 library quantm
  • 如何使用 systemctl systemd 启动 svnserve

    debian jessie 中的 subversion 软件包不包含 systemd 服务文件 自动启动的最简单解决方案是什么 我尝试 Unit Description Subversion protocol daemon After sy
  • C++ 中将值作为常量、引用和常量引用返回有何含义?

    我正在学习C 但我仍然对此感到困惑 在 C 中将值作为常量 引用和常量引用返回有何含义 例如 const int exampleOne int exampleTwo const int exampleThree 以下是您所有案件的内幕 通过
  • 使用委托将数据从一个 TableView 传输到另一个 TableView

    我需要从一个传输一个字符串tableview通过单击一个内的按钮到另一个UITableView 我知道如何获得indexPath通过按钮 如下所示 let button sender as MyButton let view button
  • Powerpoint 2010 多个实例

    我在这里看到了很多关于这个主题的帖子 但似乎没有一个直接回答这个问题 我想控制在第二台显示器上运行的两个 Powerpoint 实例 理想的解决方案如下所示 PowerPoint Application PPTViewer1 new Pow
  • Spring MVC 处理会话过期

    我正在与Jboss EAP 6 2 Java EE 6 and Spring MVC 4 0 2 当会话过期时 我想执行页面重定向 我开发了一个 Spring 拦截器 Component public class SessionExpire
  • 分割seeds.rb文件[重复]

    这个问题在这里已经有答案了 My seeds rb文件变得非常大 重构文件中数据的最佳方法是什么 我可以将数据放入各种文件中吗 require他们在seeds rb file 我们将所有种子存储在文件夹中db seeds并在里面db see
  • 等待异步调用在完成块内完成

    我目前正在开发一个 POC 应用程序 我之前曾在这里发布过相关内容 https stackoverflow com questions 47418653 nsurlsessiondatatask authentication challen
  • 基于 Licenses.licx 的 .Net 组件许可模型如何工作?

    我遇到过多个使用许可方案的第三方 Net 组件供应商 在评估副本上 组件会显示导航屏幕或水印或某些此类指示器 在获得许可的机器上 许可证 licx被创建 看起来是什么just程序集全名 标识符 构建客户端程序集时必须包含此文件 这个模型如何
  • 从 NOT EXISTS 转换为 NOT IN

    我有三张桌子 sailor 姓名 评级 boat 名称 颜色 等级 reservation sname bname 工作日 开始 结束 为了获得预订每艘红船的水手名单 我有 select s sname from sailor s wher
  • 从字符串中提取除方括号中的单词之外的所有单词

    我再次完全陷入创建正则表达式的困境 我有一个字符串模式 例如 str wordA wordAB xyz wordABC x 所以总有一个词后面跟有括号里的东西 或空括号 单词的长度 前导和尾随空格以及括号内的字符数是随机的 该序列重复的频率
  • 使用 SQLAlchemy 时 pandas.read_sql() 比 pyodbc 慢得多

    我正在尝试从 SQL 读取一个小表 并且正在考虑从 pyodbc 切换到 SQLAlchemy 以便能够使用 pd to sql 当我比较两者时 sql alchemy 慢得多 s py import pandas as pd import
  • 为什么 amp-video 和 amp-audio 强制对 src 使用 https?

    关于文档AMP 视频 https www ampproject org docs reference amp video html这表明 src 如果没有孩子在场 则需要 必须是 HTTPS 为什么需要这个 这是出于安全问题吗 我的视频和音
  • 将年份添加到 Java 日历不起作用

    请赐教我这一点 我只是想在当前日期上加上 10 年 然后从中减去到期日期以返回年数 public int getMaxYears int max 0 Calendar ten year later Calendar getInstance
  • Django 的 Redshift DB 后端

    我需要处理存储在 Amazon Redshift 服务器中的一些数据 由于我最熟悉 Django 因此我正在考虑在应用程序层使用它 但我不知道如何连接到 Redshift 并检索数据 我只有连接到本地 MySQL 服务器并工作的经验 所以这
  • “mov eax, [num]”和“mov eax, num”之间的区别

    我是一名初学者 正在编写汇编程序 使用以下代码打印从 1 到 9 的数字 section text global start start mov ecx 10 mov eax 1 l1 mov num eax mov eax 4 mov e
  • sudo a2enmod php5.6,php -v 仍然显示 php 7.01 冲突

    我正在尝试切换 php 版本 得到以下响应 我尝试卸载 mpm prefork 和 mpm worker 仍然没有乐趣 请提供任何想法 在 Ubuntu 16 04 上 sudo a2enmod php5 6 Considering dep
  • 复制并重命名文件 VBScript

    我需要将一个基于日期的名称的文件移动到另一个文件夹 文件结构为 Source network location folder Filename 09 11 2012 txt 目的地 C Dump Filename txt 源文件总是落后 1
  • Hibernate:加载与获取

    我知道这是一个常见问题 已经被描述过很多次了 但我仍然无法得到一些东西 性能怎么样 哪种方法更快 实际上 我需要一个简单的事情 页面发出一个 POST 请求 id 0 name John 服务器端脚本应检查 id 0 是否 然后在数据库中创
  • FieldConverter ConverterKind.Date“dd/MM/yyyy”异常

    我尝试读取 csv 文件 我的第五条记录包含日期 03 11 2008 这是我的一段代码 FieldConverter ConverterKind Date dd MM yyyy public DateTime datum 5 我的代码在此