0

我正在从 SQL 服务器获取一些数据,并尝试在前端 C# windows 窗体上显示。

dtpMcAccExp.Text = DateTime.FromOADate(Convert.ToDouble(reply.Rows[0]["ExpiryDate"])).AddDays(2).ToString("dd/MM/yyyy");

在这里,dtpMcAccExp 是一个 DatTimePicker & reply 是一个数据表,我在其中得到 sql 查询回复。

当我得到 ExpiryDate 一个 OLE 日期和 2 天前的日期(作为 delphi 系统用来更新它),所以必须添加 2 天来引入实际日期。

尽你所能理解。

问题是..在某些计算机上,系统日期时间设置短日期为“dd/MM/yyyy”,它工作正常,但在某些短日期为“M/d/yyyy”的计算机上,它给出了一个错误“字符串未被识别为有效日期时间.."

所以解决方案是将每个客户计算机的短日期更改为我希望我的应用程序运行的“dd/MM/yyyy”。

或其他一些解决方案,即我可以更改我的编码。请帮忙。非常感谢..

4

1 回答 1

1

为此,您只需设置系统当前文化并可以运行...

using System.Threading;
using System.Globalization;

Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US", false);

要点:您也可以将 dd/MM/yyy 的 Culture 设置为“en-GB”,但是数据在存储到数据库 MM/dd/yyy 时可能是标准日期格式,不会造成任何麻烦....

于 2012-06-23T09:20:38.333 回答