在 C# 中打印报告时更改日期格式

Date format changed when printing report in c#

我开发了一个使用报告的应用程序,当我尝试打印报告时遇到问题,客户端 pc 上的日期格式更改为另一种格式,尽管它在我的 pc 上以正确的格式打印日期,这里是两张图片,一张来自我的电脑,另一张来自客户端电脑

我的电脑

客户端电脑

这是我用来显示报告的代码

string DateString = dateTimePicker1.Value.ToString("yyyy/MM/dd");
        DateTime dt = DateTime.ParseExact(DateString, "yyyy/MM/dd", null);
        string DateString2 = dateTimePicker2.Value.ToString("yyyy/MM/dd");
        DateTime dt2 = DateTime.ParseExact(DateString2, "yyyy/MM/dd", null);

        dailyworkTableAdapter.Fill(this.workingmgmtDataSet1.dailywork,label2.Text,dt,dt2);
        dataTable1TableAdapter.Fill(this.finalDS.DataTable1,dt,dt2,label2.Text);

        this.reportViewer1.RefreshReport();

报告中的日期字段表达式:

=Fields!date.Value

客户端电脑似乎是为不同的文化设置的。您可以像这样强制设置日期时间值的格式:

DateTime dt = DateTime.Now;
string s = dt.ToString("MM/dd/yyyy HH:mm:ss");

您可以查看文化命名空间以获取有关处理此类事情的更多信息:https://msdn.microsoft.com/en-us/library/5hh873ya(v=vs.90).aspx

已解决,问题是报告语言问题,将语言设置为"arabic"后,问题解决。

谢谢。