在 crystal 报告中格式化日期和时间

Format a date and time in crystal report

我的日期以 dd/mm/yyyy 格式存储在类型日期列中。我想以 yyyymmdd 格式打印日期。 当我使用以下公式时

tonumber(totext(db.colname,'YYYYMMDD'))

预览报告时出现“字符串不是数字”错误。

其次,

我的时间以 12 小时格式存储在字符串列中。我想显示为hh24miss格式。

我该怎么做?

首先,您不应该将 dates/times 作为文本存储在您的数据库中。 使用 DBMS 的适当数据类型。
否则你很可能会因此而遇到更多问题。

更改数据类型后,只需将 database-field 拖放到报表中,然后使用 Crystal 报表的格式设置选项即可获得所需的格式。

如果出于任何原因(我怀疑是否有好的原因)您无法更改数据类型,请使用以下公式。

ToText(Date({db.colname}), "yyyyMMdd")

此公式将字符串转换为日期,然后将日期格式化为 yyyyMMdd 格式。
注意表示月份的大写 M。小写 m 用于分钟。