在 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"后,问题解决。
谢谢。
我开发了一个使用报告的应用程序,当我尝试打印报告时遇到问题,客户端 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"后,问题解决。
谢谢。