【问题标题】:dd/mm/yyyy date format in SSRSSSRS 中的 dd/mm/yyyy 日期格式
【发布时间】:2014-04-25 12:50:05
【问题描述】:

我正在尝试为 SSRS 2008 R2 中的日期/时间参数指定 dd/mm/yyyy 日期格式。 我的电脑日期时间格式是 mm-dd-yyyy。

我的要求是,无论系统/服务器日期格式如何,我都想在 dd/mm/yyyy 显示日期格式。 我已经尝试过没有用的 CDate(Format(Today,"dd/mm/yyyy"))。我观察到的一件非常奇怪的事情是,它仅针对 12-MM-yyyy 或之前的日期显示 dd/mm/yyyy 格式,而从 13 日起它会给出错误:从字符串 '25-04-2014' 转换为日期类型不是有效的。 (可能它正在尝试使用 MM-dd-yyyy(月份部分)映射 25(daypart)),这超出了总月份的范围,即 12)

我在互联网上的研究表明这是 BIDS 2008 中的一个错误。 我该怎么做才能将日期显示为 dd/mm/yyyy ??

【问题讨论】:

  • =format(Today(),"dd/MM/yyyy"),这很好用。重新检查。
  • 我试过了,它给出了错误:从字符串到日期类型的转换无效。
  • 如果我没记错的话,您将日期列放在 Today() 的位置。可能您的日期列数据类型是字符串。
  • 我很清楚这一点。这是日期/时间。
  • 我正在使用 Visual Studio 2010、Reporting Services 2012,它运行良好。只需按原样尝试表达式,将其设置为文本框表达式或值属性。它应该有效,我已经测试并意识到这一点。

标签: reporting-services date-format


【解决方案1】:

我没有足够的声誉来发表评论,但我确实注意到您没有在“Today”之后加上“()”。如果我没记错的话,您必须输入Today() 才能使该功能正常工作。此外,您可能想尝试将CDate 放在Today() 函数周围。你不应该需要它,但值得一试。此外,出于某种奇怪的原因,根据我的经验,您必须将 MM 大写才能使format 正常工作。 就像@Aditaya 说的,应该是=format(Today(),"dd/MM/yyyy")

【讨论】:

  • Today 后面的括号是可选的。
【解决方案2】:

我常用的表达方式是:

=FormatDateTime(Fields!Date.Value, DateFormat.ShortDate)

不过,这可能因地区而异。

除了编写表达式来进行格式化,您还可以使用文本框格式属性。但首先您需要确保数据采用日期格式。因此,像这样在您的列上使用CDate 函数:

=CDate(Fields!Date.Value)

然后在文本框属性中转到数字选项卡。为类别选择日期。然后,您可以选择所需的任何格式或使用自定义格式。这将在您运行报告时更改列的显示方式。

【讨论】:

    猜你喜欢
    • 2016-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多