dojo / date / locale - 空日期

时间:2017-12-19 16:16:34

标签: javascript dojo

我正在尝试使用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;

2 个答案:

答案 0 :(得分:0)

可以解决您的要求:

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

obj = { dateComplete: myDate, {
    selector: 'date',
    datePattern: "MM'/'dd'/'yyyy"
 })};

答案 1 :(得分:0)

12/31/1969是一个纪元日期。由于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();