coldfusion - Dateformat ww 返回错误的一年中的一周
问题描述
有人可以解释为什么得到这个日期的周返回 1 而不是 53?我如何让coldfusion在这个日期返回53?
<cfscript>
Date1 = "{ts '2019-12-30 12:00:00'}";
dateformat= DateFormat(Date1)
week= DateFormat(Date1,"ww")
writeOutput("Week: " & week & "<br/>")
</cfscript>
解决方案
你可以使用week(Date)
而不是尝试dateformat
。
我不确定为什么dateformat
将 2019 年的最后一周作为 2020 年的第一周。很可能dateformat
不是为处理这些细微的逻辑而设计的。由于Week
必须为此目的专门设计功能,因此明智的做法是利用它。如果我能找到任何具体建议问题原因的内容,我会更新答案dateformat
。
@Agreax 的评论更新:
Week()
使用 Adobe 的内部逻辑。DateFormat()
使用 java 的SimpleDateFormat
类,它“.. 取决于 getMinimalDaysInFirstWeek()、getFirstDayOfWeek() 和 1 月 1 日的星期几的值..”。在默认设置下,2019 年 12 月 30 日被视为 2020 年第一周的一部分。
推荐阅读
- ruby-on-rails - 在渲染块内使用 content_for 传递 html
- docker - 从停止的 docker 容器中删除文件(不创建新图像)
- python - 如何从后台启动的python运行内置的shell命令?
- flutter - Flutter中什么时候需要类路径结构named-route(例如'/a/b/c')?
- jhipster - 如何去掉微服务前面的“服务”
- .htaccess - 如何使用 htaccess 重写子文件夹中文件的 URL
- python - IDLE shell 上下文文档损坏?
- android - 如何为片段设置观察者
- c++ - 如何检测类是否具有模板化成员函数?
- wordpress - 自定义 Typekit 字体到 Wordpress