Visualforce:日期格式显示为 2020 年 7 月 217 日

Visualfoce: Date format is shown as 217 July 2020

我对 visualforce 中的日期函数有疑问。

我的代码如下所示:

<apex:outputText value="{0, date, DD MMMM YYYY}">
                    <apex:param value="{!Opportunity.Invoice_Due_Date__c}" /> </apex:outputText>

Invoice_Due_Date__c 是一个没有特定规则的简单日期选择器。

每次选择日期时,月份和年份都会正确显示,但日期总是大于 150,这完全没有意义。

我是否必须更改自定义字段的代码或设置?

Visualforce 遵循 Java 的“simple date format" rules. <apex:outputText> 文档有 yyyy.MM.dd 渲染到 2004.11.20 的示例。

大写 D 表示一年中的某一天,范围为 1 到 366 :)

也要注意大写字母 Y,您希望它是小写字母。大写的 1 用于一些棘手的报告,比如如果你 factory/warehouse/accounting team insisting new year doesn't always start on January 1st. 有时他们会向你发誓 7 月从 6 月 29 日开始 ;) 疯狂的人