我正在尝试根据通用的“2012-09-04 10:20:12 AM”格式格式化当前日期,但不知何故,“AM”部分始终缺失。
我正在使用表达式"..." & Format(CDate(Now), "yyyy-MM-dd hh:mm:ss tt")
来格式化日期并将其附加到某些文本中。这会发出下面的警告,但会正确打印出日期(AM / PM指示符除外)。
[rsRuntimeErrorInExpression] The Value expression for the textrun ‘EmissionDate.Paragraphs[0].TextRuns[0]’ contains an error: Input string was not in a correct format.
我在这里做错了什么?
注意:我知道this SO post和SQL Server查询支持的解决方案,但我想尽可能多地使用内置函数。
答案 0 :(得分:2)
我找到了这篇文章,也许它可以解决你的问题。我知道您已经在使用Format(CDate)
,但由于您使用的是(Now)
,因此女巫是一个日期时间变量,也许您应该使用FormatDateTime()
代替Format()
。
试试这个:
而不是:Format(CDate(Now), "yyyy-MM-dd hh:mm:ss tt")
使用:Format(CDate(Now), "yyyy-MM-dd hh:mm:ss am/pm")
答案 1 :(得分:0)
根据我之前的评论,报告的Language
属性引用了未定义AM / PM指示符的文化。将其更改为en-US
可以按预期显示AM / PM指示符。