Reporting Services从expression式中的DateTime中删除时间
我想用一个明确的时间填充一个expression式(一个参数的默认值)。 如何从“现在”function中删除时间?
像这样的东西:
=FormatDateTime(Now, DateFormat.ShortDate) 
  “现在”可以replace为您要转换的date/时间字段的名称。) 
 例如, 
 =FormatDateTime(Fields!StartDate.Value, DateFormat.ShortDate) 
由于SSRS利用VB,您可以执行以下操作:
 =Today() 'returns date only 
如果您要使用:
 =Now() 'returns date and current timestamp 
 =CDate(Now).ToString("dd/MM/yyyy") 
虽然你正在将date拼凑到一个语言环境。
如果你必须在报表头上显示字段,那么试试这个…右键单击文本框>属性>类别>date>select*格式(注意这将保持区域设置)。
由于这个问题已被多次查看,我发布了…希望它有帮助。
 
 
 只要使用DateValue(Now)如果你想要的结果是DateTime数据types。 
在任何文本框字段的格式属性中,您可以使用格式string:
例如D / M / Y,D等
  如果预期的数据格式是MM-dd-yyyy然后在下面尝试 , 
 =CDate(Now).ToString("MM-dd-yyyy") 
同样你可以试试这个,
 =Format(Today(),"MM-dd-yyyy") 
  产出: 02-04-2016 
  注意: 
  Now()将显示当前的date和时间戳 
  Today()将显示date而不是时间部分。 
  也可以在我的例子中设置任何date格式,而不是MM-dd-yyyy 。 
 有一件事可以帮助别人,你可以在SSRS的格式string属性中放置: =CDate(Now).ToString("dd/MM/yyyy") ,这个属性可以通过右击列来获得。 这是最干净的方式。 那么你的表情不会太大,难以直观地“parsing”:) 
  FormatDateTime(Parameter.StartDate.Value) 
我在比赛中迟到了,但我尝试了上面的所有解决scheme! 无法让它在参数中删除零,并给我一个默认(它忽略了格式或出现空白)。 我正在使用SSRS 2005,所以正在与其笨重/错误的问题挣扎。
我的解决方法是添加一个列到我的数据库中的自定义[DimDate]表,我拉date。 我添加了一个列,它是[date]列所需格式的string表示forms。 然后,我在SSRS中创build了2个新的数据集,在下面的查询中为我的“收件人”和“发件人”date默认设置了2个默认值 –
'从'
  SELECT Datestring FROM dbo.dimDate WHERE [date] = ( SELECT MAX(date) FROM dbo.dimdate WHERE date < DATEADD(month, -3, GETDATE() ) 
'至'
  SELECT Datestring FROM dbo.dimDate WHERE [date] = ( SELECT MAX(date) FROM dbo.dimdate WHERE date <= GETDATE() ) 
我的date/时间参数的解决scheme:
 =CDate(Today()) 
诀窍是作为build议Perhentian转换回DateTime。
从这里find解决scheme
这是前一天的最后一秒:
 DateAdd("s",-1,DateAdd("d",1,Today()) 
这将返回前一周的最后一秒:
 =dateadd("d", -Weekday(Now), (DateAdd("s",-1,DateAdd("d",1,Today())))) 
这应该在数据集中完成。 你可以做到这一点
 Select CAST(CAST(YourDateTime as date) AS Varchar(11)) as DateColumnName 
 在SSRS布局中,只要做到这一点=Fields!DateColumnName.Value 
只需将一个string连接到值的末尾:
 Fields!<your field>.Value & " " 'test' 
这应该工作!