小编Ger*_*ich的帖子

dateTimeFormat的有效掩码模式

我得到了使用dateTimeFormat函数的代码.原始开发人员使用了"MM-HH-YY-dd-NN"的面具.这段代码适用于他的机器.它适用于我们的测试服务器.但它在我的本地机器上不起作用.当我将面具改为"MM-HH-yy-dd-NN"时,我才能使它工作;

注意这里的差异是大写的"YY"和小写的"yy"

在查看https://wikidocs.adobe.com/wiki/display/coldfusionen/DateTimeFormat上的文档时,看起来小写yy是官方支持的处理方式.

有谁知道为什么YY会在某些情况下得到支持而不是其他情况?我怀疑它可能是某些本地化代码,但我发现我的CF管理员和测试服务器上没有任何差异.我能在机器上做些什么让YY工作吗?

我的机器是在Mac上运行的Windows 7 VM,而服务器是Windows服务器2008.

我的JVM是1.6.0_29,而服务器运行1.7.0

这些差异是否足以解释这个问题?

这是一些简单的测试代码:

<cfscript>
    testTime=now();
    lowermask= "MM-HH-yy-dd-NN";
    uppermask= "MM-HH-YY-dd-NN";
    result = {
        lower=dateTimeFormat(testTime, lowermask)
        ,upper=dateTimeFormat(testTime, uppermask)
    };
    writedump(result);
</cfscript>
Run Code Online (Sandbox Code Playgroud)

看起来问题出在底层Java版本中.我得到的错误是:

java.lang.IllegalArgumentException: Illegal pattern character 'Y'
    at java.text.SimpleDateFormat.compile(SimpleDateFormat.java:768)
    at java.text.SimpleDateFormat.initialize(SimpleDateFormat.java:575)
    at java.text.SimpleDateFormat.<init>(SimpleDateFormat.java:500)
    at coldfusion.util.DateUtils.getCFDateTimeFormat(DateUtils.java:673)
    at coldfusion.util.DateUtils.formatDateTime(DateUtils.java:942)
    at coldfusion.runtime.CFPage.LSDateTimeFormat(CFPage.java:1750)
    at coldfusion.runtime.CFPage.LSDateTimeFormat(CFPage.java:1742)
    at coldfusion.runtime.CFPage.DateTimeFormat(CFPage.java:1722)
    at cftemp2ecfm333879290.runPage(C:\inetpub\wwwroot\temp.cfm:7)
    at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:244)
    at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:444)
    at coldfusion.filter.CfincludeFilter.invoke(CfincludeFilter.java:65)
    at coldfusion.filter.IpFilter.invoke(IpFilter.java:64)
    at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:449)
    at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40)
    at coldfusion.filter.PathFilter.invoke(PathFilter.java:112)
    at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:94)
    at coldfusion.filter.BrowserDebugFilter.invoke(BrowserDebugFilter.java:79)
    at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)
    at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
    at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:58)
    at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
    at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22) …
Run Code Online (Sandbox Code Playgroud)

java coldfusion java-6 java-7

5
推荐指数
1
解决办法
378
查看次数

标签 统计

coldfusion ×1

java ×1

java-6 ×1

java-7 ×1