在 C 中使用 Window XP 时如何解决日期格式问题?

Posted

技术标签:

【中文标题】在 C 中使用 Window XP 时如何解决日期格式问题?【英文标题】:How to solve date format problem when using Window XP in C? 【发布时间】:2011-06-02 09:32:21 【问题描述】:

我使用的是 Window 7,当我在本地运行我的代码时一切正常,但是当上传到 Window server 2003 时,代码会出现错误:

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

我的计算机设置(日期格式)与我的窗口服务器相同。还是出现同样的问题。

下面是我的代码:

dateFrom = Convert.ToDateTime("12-6-2011");

dateTo = Convert.ToDateTime("18-6-2011");

//or    
dateFrom = DateTime.ParseExact("12-6-2011", "MM/dd/yyyy", CultureInfo.InvariantCulture);

dateTo = DateTime.ParseExact("18-6-2011", "MM/dd/yyyy", CultureInfo.InvariantCulture);

//i using parse also din come out.

【问题讨论】:

【参考方案1】:

我不知道这与“C”语言有何关系,因此我可能误解了某些内容。但是,据我所知,您使用的格式字符串错误。

如果您的日期总是这样,请尝试使用“d-M-yyyy”之类的格式字符串。

请查看以下页面以供参考:http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx

【讨论】:

感谢分享我通过你的链接解决了我的问题,虽然与 C 语言 Xp.haha 无关。哈哈【参考方案2】:

MM 代表月份。您应该使用 dd/MM/yyyy 来拟合您的数据。

【讨论】:

分隔符不是斜线(美国),而是破折号(ISO)。从文档看来,您必须正确指定分隔符。 @Krumelur:日期指定为“18-6-2011”,因此要么更改数据格式,要么更改数据本身。我觉得改格式比较合理【参考方案3】:

试试:

dateFrom = DateTime.ParseExact("12-6-2011", "dd-MM-yyyy", CultureInfo.InvariantCulture);
dateTo = DateTime.ParseExact("18-6-2011", "dd-MM-yyyy", CultureInfo.InvariantCulture);

【讨论】:

不能也出现同样的问题,实际上我的代码在我的本地运行正常,但感谢告知,窗口服务器不接受。

以上是关于在 C 中使用 Window XP 时如何解决日期格式问题?的主要内容,如果未能解决你的问题,请参考以下文章

在 Windows XP 上运行时 TextBox.Text 绑定错误

使用 window.dtDefaultOptions 时如何对数据表列进行默认排序

c#winForm动态创建文件夹访问被拒绝

xp下,如何通过命令行更新系统当前时间

怎么在linux 系统下,禁用和启用网卡,并看状态,比如像WINDOW XP 下 本地连接,禁用,启用,连接状态,

怎么在linux 系统下,禁用和启用网卡,并看状态,比如像WINDOW XP 下 本地连接,禁用,启用,连接状态,