Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在vb.net中格式化日期值仍返回错误的值_Vb.net_Date_Datetime_Crystal Reports_Format - Fatal编程技术网

在vb.net中格式化日期值仍返回错误的值

在vb.net中格式化日期值仍返回错误的值,vb.net,date,datetime,crystal-reports,format,Vb.net,Date,Datetime,Crystal Reports,Format,下面的代码是我用来为Crystal Report设置选择公式的代码 Dim dateTo As Date dateTo = dtpCRTo.Value.ToShortDateString dateTo = Format(dateTo, "dd/MM/yyyy") If cmbCRSupplier.Value = "" Then selectionFormula = "{Sales_Headers.Stage} = '6' AND {Sales_Lines.PaymentDate} &

下面的代码是我用来为Crystal Report设置选择公式的代码

Dim dateTo As Date
 dateTo = dtpCRTo.Value.ToShortDateString
 dateTo = Format(dateTo, "dd/MM/yyyy")

If cmbCRSupplier.Value = "" Then
   selectionFormula = "{Sales_Headers.Stage} = '6' AND {Sales_Lines.PaymentDate} <= #" & dateTo & "#"
这适用于所有日期,但选择每个月的最后一天时除外。如果选择1月31日,
dateTo
值将变为2017年1月2日(2月2日),在公式中被视为1月2日。有办法解决这个问题吗?

格式属性:

1. DatePicker > Properties > CustomFormat > (Enter format you want here)
2. Properties > Format > Custom
代码隐藏:

Dim dateFormat As String
dt.Format = DateTimePickerFormat.Custom
dt.CustomFormat = "dd/MM/yyyy"
dateFormat = dt.Text

您可以在属性中格式化,也可以在代码隐藏中格式化

除非
PaymentDate
是一个文本列,否则格式并不重要,因为日期没有格式。@puropoix否,
PaymentDate
Date/Time
格式,但即使在添加格式位之前,它仍然没有显示数据a
DateTime
类型将始终具有日期和时间部分,所以使用
可能是-这就是为什么我问的第一件事是如何保存日期。如果列为日期,则传递日期。请参见摆脱
格式(…)
日期没有格式,如果希望日期与日期类似,请使用日期。我已经有一段时间没有使用CR了,但通常您会在其中定义一个日期参数
dateTo
,公式是
…和{Sales\u Lines.PaymentDate}<{?dateTo}
“格式化”日期到您的区域性是一个问题,因为如果有任何问题的话,CR可能需要
InvariantCulture
。Option Strict仍处于关闭状态。我在@Proputinix建议的最新编辑中遇到了相同的问题。。。当我在日期选择器上选择一个月的第一天时,它仍然将MM/dd放入公式中,因此应该存在的数据不存在
Dim dateFormat As String
dt.Format = DateTimePickerFormat.Custom
dt.CustomFormat = "dd/MM/yyyy"
dateFormat = dt.Text