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