【问题标题】:Convert.ToDateTime Works in console app but errors out in asp.netConvert.ToDateTime 在控制台应用程序中工作,但在 asp.net 中出错
【发布时间】:2015-02-18 10:23:38
【问题描述】:

Convert.ToDateTime 在控制台应用中工作,

string a = "18/02/2015";
DateTime aa = Convert.ToDateTime(a);

asp.net 表单中的错误提示字符串格式不正确,

DateTime aa = Convert.ToDateTime(myTextBox.Text);

它以前可以工作,但是自从我安装了一个新安装的服务器后,它开始给我这个错误..

输入字符串对我来说似乎相同“18/02/2015”

【问题讨论】:

  • 请检查您的系统日期时间格式。我认为这取决于您的系统日期时间设置。根据您的系统设置通过日期,然后它将起作用。
  • 我投了反对票,因为这是您的第 250 多个问题,而且您似乎还没有学会搜索或提出正确的问题。提及确切错误消息,并显示您在本网站搜索该消息时发现的内容。
  • 我已经添加了说字符串格式不正确的例外情况。Google 永远不会回答我为什么代码可以在控制台上运行以及为什么它不能在 asp.net 中运行,试一试并通过给我一个结果
  • "string is not righ format" 不是您收到的确切消息,您忽略了我关于搜索的评论。否决票是针对不显示研究努力的问题。至于您的谷歌评论:如果您搜索错误的问题,您将不会得到答案。相同的控制台应用程序也无法在您的服务器上运行,这是因为语言环境。参见例如date format in asp.net versus in console application
  • 您是不是误接受了我的回答?还是我的回答有错误?

标签: c# asp.net


【解决方案1】:

Convert.ToDateTime 在内部使用DateTime.Parse,与当前的服务器文化。而且,问题是您的新服务器当前文化的DateTime 格式与您的字符串不同。

您可以使用DateTime.ParseExact() 来代替它。

将日期和时间的指定字符串表示形式转换为其 使用指定格式和特定​​区域性的等效日期时间 格式信息。字符串表示的格式必须匹配 完全符合指定的格式。

DateTime.ParseExact(myTextBox.Text, "dd/MM/yyyy", CultureInfo.InvariantCulture);

【讨论】:

    猜你喜欢
    • 2014-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-28
    • 2021-03-13
    相关资源
    最近更新 更多