dojo / date / locale - 空日期

问题描述 投票:1回答:2

我正在尝试使用dojo / date / locale来打印日期值,其中NULL值显示为“”(空白)。我正在处理的脚本从工作流数据库中提取功能,这些功能只能由用户部分完成,数据库当前存储2个属性,FileName和dateComplete。目前,null日期值打印为12/31/1969,即使空文件名打印为“”(作为首选)。

TLDR:我只需要NULL日期就打印输出显示为空白。有什么建议?谢谢!

    var cTextElements = [];
    var gra = this.map.infoWindow.getSelectedFeature();
    var obj = { FileName: gra.attributes.FileName };
    cTextElements.push(obj);
    obj = { dateComplete: locale.format(new Date(gra.attributes.dateComplete), {
        selector: 'date',
        datePattern: "MM'/'dd'/'yyyy"
        })};
    cTextElements.push(obj);
    template.layoutOptions.customTextElements = cTextElements;
javascript dojo
2个回答
0
投票

1969年12月31日是一个纪元日期。由于gra.attributes.dateComplete为0,因此默认为纪元日期。你可以为gra.attributes.dateComplete检查null,并有一些默认日期

var myDate = new Date(gra.attributes.dateComplete);
myDate = myDate ? myDate : "12/31/2017";

或当前日期为

var myDate = new Date(gra.attributes.dateComplete);
    myDate = myDate ? myDate : new Date();

0
投票

可能是这个解决你的要求:

var myDate = locale.format(new Date(gra.attributes.dateComplete));
myDate = myDate ? myDate : "";

obj = { dateComplete: myDate, {
    selector: 'date',
    datePattern: "MM'/'dd'/'yyyy"
 })};
© www.soinside.com 2019 - 2024. All rights reserved.