Crystal Report - 将日期字符串(以星期几为单位)转换为日期格式

时间:2015-03-25 04:43:08

标签: crystal-reports

我是水晶报道的新手。我有一个字符串格式的日期,如2015-03-25(周三),我想将其转换为日期格式,如03/25/2015。我尝试使用CDate和DateValue但它返回了错误的日期字符串格式。有关将此类日期字符串转换为正确日期格式的建议吗?

2 个答案:

答案 0 :(得分:0)

如果Crystal Reports中有DateTime字段,则在右键单击字段并选择“格式字段”菜单项时,将在“格式编辑器”上看到“日期和时间”选项卡选项。从日期和时间选项卡,您可以选择所需的格式,然后选择确定。

image

建议使用您想要使用的格式。

例如:如果您提供金钱或小数字符串格式,您可能无法完全使用它,就像您可能无法自动求和与您打算使用的数据类型相关的其他属性

答案 1 :(得分:0)

不要在代码中做任何事情,Crystal Report可以使用这种简单格式。

@utility,你快要回答了。

如上图所示,在上一个Custom Format选项中,您只需进入Date标签并将格式设为

http://www.c-sharpcorner.com/UploadFile/mahesh/DateFormatInCR06132007092248AM/DateFormatInCR.aspx

已更新:抱歉,如果您有有效的日期字符串,则可以使用上述答案 在您的情况下,任何字符串都需要转换为其他日期格式。有2个选项。在这两种情况下,您都必须提取日期,然后根据需要进行格式化,并再次与其他子字符串结合使用。

  1. 第二个你已经完成了ie。 crsytal报告方,抓住日期,格式化并连接。这将因为需要处理每一行而变慢。

  2. SqlServer端 - 从第一个选项开始,此选项更快。

  3.   

    宣布@t nvarchar(16)=' 2015-03-25(周三)'

         

    - 获取日期选择SUBSTRING(@ t,1,charindex('(',@ t)-1)    - 上面的结果给出了charter数据类型,所以你先转换成日期然后转换成其他格式select cast(SUBSTRING(@t,   1,charindex('(',@ t)-1)作为日期) - 转换为日期选择   convert(varchar(15),cast(SUBSTRING(@t,1,charindex('(',@ t)   -1)作为日期),103) - 转换为dd / mm / yyyy格式

         

    - 以上是为了您的理解,这是您的代码的实际执行(仅写下面的行)select convert(varchar(15),cast(   SUBSTRING(@ t,1,charindex('(',@ t)-1)作为日期),103)+' ' +   datename(dw,getdate())

    我建议,请使用Sqlserver端。