在 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 时如何对数据表列进行默认排序