我是水晶报道的新手。我有一个字符串格式的日期,如2015-03-25(周三),我想将其转换为日期格式,如03/25/2015。我尝试使用CDate和DateValue但它返回了错误的日期字符串格式。有关将此类日期字符串转换为正确日期格式的建议吗?
答案 0 :(得分:0)
如果Crystal Reports中有DateTime字段,则在右键单击字段并选择“格式字段”菜单项时,将在“格式编辑器”上看到“日期和时间”选项卡选项。从日期和时间选项卡,您可以选择所需的格式,然后选择确定。
建议使用您想要使用的格式。
例如:如果您提供金钱或小数字符串格式,您可能无法完全使用它,就像您可能无法自动求和与您打算使用的数据类型相关的其他属性
答案 1 :(得分:0)
不要在代码中做任何事情,Crystal Report可以使用这种简单格式。
@utility,你快要回答了。
如上图所示,在上一个Custom Format
选项中,您只需进入Date
标签并将格式设为
http://www.c-sharpcorner.com/UploadFile/mahesh/DateFormatInCR06132007092248AM/DateFormatInCR.aspx
已更新:抱歉,如果您有有效的日期字符串,则可以使用上述答案 在您的情况下,任何字符串都需要转换为其他日期格式。有2个选项。在这两种情况下,您都必须提取日期,然后根据需要进行格式化,并再次与其他子字符串结合使用。
第二个你已经完成了ie。 crsytal报告方,抓住日期,格式化并连接。这将因为需要处理每一行而变慢。
SqlServer端 - 从第一个选项开始,此选项更快。
宣布@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端。