Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# DateTime分析问题(DateTime.ParseExact)_C#_Asp.net_Asp.net Mvc_Asp.net Mvc 2 - Fatal编程技术网

C# DateTime分析问题(DateTime.ParseExact)

C# DateTime分析问题(DateTime.ParseExact),c#,asp.net,asp.net-mvc,asp.net-mvc-2,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 2,[请投票结束此评论-请参阅我最后的评论。] 嗨 大概是这样的: DateTime.ParseExact("25/12/2008 00:00:00", "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture); 在我的开发机器上运行良好,但在部署(服务器)后无法运行 我想这与时区配置有关。我试过: <%@ ... UICulture="en" Culture="en-US" %> 无济于事。对明信片有什么建议吗。谢谢 基督教徒

[请投票结束此评论-请参阅我最后的评论。]

大概是这样的:

DateTime.ParseExact("25/12/2008 00:00:00", "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture);
在我的开发机器上运行良好,但在部署(服务器)后无法运行

我想这与时区配置有关。我试过:

<%@ ... UICulture="en" Culture="en-US" %> 

无济于事。对明信片有什么建议吗。谢谢

基督教徒

附注:例外情况:

字符串未被识别为有效的日期时间

PPS:我已经更新了问题。事实上,我在时间上投入了一点。对不起

购买力平价: 我现在意识到所有这些都与Excel和oledb有关。字符串25/12/2008在服务器上类似于“12/25/2008 12:00:00 AM”,在开发机器上类似于“25/12/2008 00:00:00”。我将服务器的时区调整到英国,但没有成功。我还能做什么?感谢并为所有这些困惑感到抱歉

试试看

DateTime.ParseExact("25/12/2008", "dd/MM/yyyy hh:mm:ss", CultureInfo.InvariantCulture);
试一试

像这样的

您最好准确地发布失败的内容和错误,而不是“类似”失败的内容

我希望您的示例会给出一个FormatException,因为您正在转换的字符串(“25/12/2008”,无时间)与指定的格式(“dd/MM/yyyy hh:MM:ss”)不匹配

在您的格式中使用hh而不是hh也有点奇怪-hh是一个12小时的时钟

我希望以下任何一项都能奏效

// No time component
DateTime.ParseExact("25/12/2008", "dd/MM/yyyy", new CultureInfo("en-US"));

// Works for hours <=12, result is always AM
DateTime.ParseExact("25/12/2008 11:00:00", "dd/MM/yyyy hh:mm:ss", new CultureInfo("en-US"));

// Works for hours using 24-hour clock
DateTime.ParseExact("25/12/2008 13:00:00", "dd/MM/yyyy HH:mm:ss", new CultureInfo("en-US"));
//没有时间组件
DateTime.ParseExact(“2008年12月25日”,“年/月/日”,新文化信息(“美国”);
//工作数小时
像这样的

您最好准确地发布失败的内容和错误,而不是“类似”失败的内容

我希望您的示例会给出一个FormatException,因为您正在转换的字符串(“25/12/2008”,无时间)与指定的格式(“dd/MM/yyyy hh:MM:ss”)不匹配

在您的格式中使用hh而不是hh也有点奇怪-hh是一个12小时的时钟

我希望以下任何一项都能奏效

// No time component
DateTime.ParseExact("25/12/2008", "dd/MM/yyyy", new CultureInfo("en-US"));

// Works for hours <=12, result is always AM
DateTime.ParseExact("25/12/2008 11:00:00", "dd/MM/yyyy hh:mm:ss", new CultureInfo("en-US"));

// Works for hours using 24-hour clock
DateTime.ParseExact("25/12/2008 13:00:00", "dd/MM/yyyy HH:mm:ss", new CultureInfo("en-US"));
//没有时间组件
DateTime.ParseExact(“2008年12月25日”,“年/月/日”,新文化信息(“美国”);

//WorksPrime:P>当将字符串解析为DATETIME时,始终考虑日期可以有一个或两个数字。例如,它可以是MM/dd/yyyy或M/d/yyyy或MM/d/yyyy或M/dd/yyyy。如果使用PARSEACTION,而不考虑这一点,则会遇到异常。试试这个:

DateTime date = DateTime.ParseExact(
    dateText, // date in string 
    new string[] { "M/d/yyyy", "MM/dd/yyyy", "M/dd/yyyy", "MM/d/yyyy" }, // formats (you can add more)
    CultureInfo.InvariantCulture, 
    DateTimeStyles.None);

当将字符串解析为DATETIME时,始终考虑日期可以有一个或两个数字。例如,它可以是MM/dd/yyyy或M/d/yyyy或MM/d/yyyy或M/dd/yyyy。如果使用PARSEACTION,而不考虑这一点,则会遇到异常。试试这个:

DateTime date = DateTime.ParseExact(
    dateText, // date in string 
    new string[] { "M/d/yyyy", "MM/dd/yyyy", "M/dd/yyyy", "MM/d/yyyy" }, // formats (you can add more)
    CultureInfo.InvariantCulture, 
    DateTimeStyles.None);

它在什么方面不起作用?意外的结果?例外?什么都没有?值得注意的是,2008年12月25日不是en US的有效日期格式。这并不能解释本地和部署之间的差异,因此我将把它作为注释保留。对于您的示例,预期的结果将是带有“字符串未被识别为有效日期时间”的FormatException。“在您的开发机器上运行良好”的代码可能与您的示例不同。快速提问,您的开发箱在英国,部署服务器在美国吗?请投票结束此问题。它实际上比这更复杂,并且与oledb有关。这是我刚刚意识到的。谢谢,很抱歉。参见阿尔斯:它在什么方面不起作用?意外的结果?例外?什么都没有?值得注意的是,2008年12月25日不是en US的有效日期格式。这并不能解释本地和部署之间的差异,因此我将把它作为注释保留。对于您的示例,预期的结果将是带有“字符串未被识别为有效日期时间”的FormatException。“在您的开发机器上运行良好”的代码可能与您的示例不同。快速提问,您的开发箱在英国,部署服务器在美国吗?请投票结束此问题。它实际上比这更复杂,并且与oledb有关。这是我刚刚意识到的。谢谢,很抱歉。参见:我是指CultureInfo.InvariantCulture位。我是指CultureInfo.InvariantCulture位。