64

我正在尝试用明确的时间填充表达式(参数的默认值)。如何从“现在”功能中删除时间?

4

14 回答 14

106

像这样的东西:

=FormatDateTime(Now, DateFormat.ShortDate) 

其中“现在”可以替换为您尝试转换的日期/时间字段的名称。)
例如,

=FormatDateTime(Fields!StartDate.Value, DateFormat.ShortDate)
于 2009-09-08T18:21:40.657 回答
46

由于 SSRS 使用 VB,您可以执行以下操作:

=Today() 'returns date only

如果您要使用:

=Now() 'returns date and current timestamp
于 2009-09-08T18:32:41.197 回答
29
=CDate(Now).ToString("dd/MM/yyyy")

尽管您将日期格式硬编码为语言环境。

于 2010-01-19T17:18:40.413 回答
21

如果您必须在报告标题上显示该字段,请尝试此操作...右键单击文本框 > 属性 > 类别 > 日期 > 选择 *格式(请注意,这将保持区域设置)。

由于此问题已被多次查看,因此我将其发布...希望对您有所帮助。

在此处输入图像描述

于 2015-11-20T09:31:03.240 回答
8

DateValue(Now)如果您希望结果是DateTime数据类型,只需使用。

于 2012-04-13T08:35:06.270 回答
8

如果预期的数据格式是MM-dd-yyyy然后尝试下面

=CDate(Now).ToString("MM-dd-yyyy")

同样你可以试试这个,

=Format(Today(),"MM-dd-yyyy") 

输出: 02-04-2016

注意:
Now()将显示当前日期时间戳

Today()只会显示日期而不是时间部分。

您也可以设置任何日期格式,而不是MM-dd-yyyy在我的示例中。

于 2016-02-04T12:17:38.127 回答
5

在任何文本框字段的格式属性中,您都可以使用格式字符串:

例如 D/M/Y、D 等。

于 2009-09-09T16:02:46.293 回答
3

可能对其他人有所帮助的一件事是您可以放置​​:=CDate(Now).ToString("dd/MM/yyyy")在 SSRS 的格式字符串属性中,可以通过右键单击该列来获得。这是最干净的方法。那么你的表达就不会太大并且难以在视觉上“解析”:)

于 2013-02-27T15:43:59.523 回答
2

这里找到解决方案

这将获得前一天的最后一秒:

DateAdd("s",-1,DateAdd("d",1,Today())

这将返回前一周的最后一秒:

=dateadd("d", -Weekday(Now), (DateAdd("s",-1,DateAdd("d",1,Today()))))
于 2009-09-08T18:22:25.227 回答
2
    FormatDateTime(Parameter.StartDate.Value)
于 2013-01-11T18:57:34.580 回答
2

我在游戏中迟到了,但我尝试了上述所有解决方案!无法让它在参数中删除零并给我一个默认值(它忽略了格式或显示为空白)。我使用的是 SSRS 2005,因此一直在努力解决其笨重/错误的问题。

我的解决方法是在我从中提取日期的数据库中的自定义 [DimDate] 表中添加一列。我添加了一个列,它是 [date] 列所需格式的字符串表示形式。然后,我在 SSRS 中创建了 2 个新数据集,它们为我的“到”和“从”日期默认值提取了以下 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()
                     )
于 2014-06-19T16:08:40.017 回答
2

我对日期/时间参数的解决方案:

=CDate(Today())

诀窍是按照 Perhentian 的推荐转换回 DateTime。

于 2015-09-18T01:14:42.360 回答
2

只需将字符串连接到值的末尾:

Fields!<your field>.Value & " " 'test' 

这应该工作!

于 2017-07-14T00:44:43.713 回答
1

这应该在数据集中完成。你可以这样做

Select CAST(CAST(YourDateTime as date) AS Varchar(11)) as DateColumnName

SSRS布局中,只需执行此操作=Fields!DateColumnName.Value

于 2015-07-30T22:00:29.557 回答