我正在使用Crystal Report,现在我正处于一个场景中,我必须从datetiem字段中提取Year值, 例如, 如果值为: 01/03/2014 10:20:01 AM
我只需提取 2014
我做的是什么,我改变了该字段的DataFormat是dd / mm / yyyyy
现在我已经开始使用配方。
Formula = Right(CStr ({report;1.FirstYearDate}),4)
显示 01AM
请帮助我
答案 0 :(得分:7)
我这样做了, 我的字符串是" 01/02/2012 10:45:22Am"
使用此公式后:
Formula = ToText({report_;1.FirstYearDate}, "yyyy")
我有这个值: 2012
答案 1 :(得分:4)
试试这种方式
Year(Cdatetime(<<your date time value here>>));
答案 2 :(得分:2)
试试这个
Year (DateValue ({Orders.Order Date}))
此处例如,日期字段为Orders表中的Order date
。
答案 3 :(得分:1)
谢谢。我的报告场景有-
{Orders.POST_DATE}
中的minimum(YearToDate)
至maximum(LastFullMonth)
。
在新的一年运行之前,它一直运行良好。然后,Crystal读取日期为上个月的最后一天和新年的第一天。
在这里看到解决方案之后。我以这种方式修改了代码,可以正常工作:
从{Orders.POST_DATE}
到DateSerial(Year (minimum(LastFullMonth)), 1,1)
中的 maximum(LastFullMonth)
,现在将1/1 / yyyy设置为与LastFullMonth中的年份相同。