【问题标题】:Date Difference in FreemarkerFreemarker中的日期差异
【发布时间】:2021-06-15 17:34:36
【问题描述】:

我需要 freemarker 中两个日期之间的差异。一个日期来自系统,而另一个日期必须硬编码为 18/02/2021。

任何人都可以指导我如何做到这一点,因为我面临解析问题。

到目前为止我的代码:

 <#assign difference=(record.trandate?long / 86400000)?round - (hardcodedDate?long / 86400000)?round />

record.trandate 是系统的日期,而hardcodedDate 是我输入的日期。

我尝试在下面分配两者,但没有工作:

        <#assign hardcodedDate = "Feb 18, 2021 2:07:30 PM" />
        <#assign hardcodedDate = "Mar 18, 2021 2:07:30 PM" />

最后,所需要的只是两个日期之间的差异。

【问题讨论】:

    标签: javascript html netsuite freemarker suitescript


    【解决方案1】:

    hardcodedDate被声明为字符串,你必须将其转换为日期,使用date内置。

    例如:

    <#assign date1 = "Feb 18, 2021 12:07:30 PM"?date("MMMM d, yyyy h:mm:ss a") />
    <#assign date2 = "Mar 18, 2021 2:07:30 PM"?date("MMMM d, yyyy h:mm:ss a") />
    <#assign difference=(date1?long / 86400000)?round - (date2?long / 86400000)?round />
    

    【讨论】:

    • 应该是?datetime。由于您仅将结果用于?long,因此在这种情况下并不重要,但在其他用例中可能会造成混淆,因为如果您打印该值,时间部分将不会显示。
    • 完美运行!非常感谢@obourgain
    猜你喜欢
    • 2014-10-28
    • 2022-01-14
    • 1970-01-01
    • 2020-03-09
    • 2011-04-30
    • 2018-11-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多