我正在尝试使用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;
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();
可能是这个解决你的要求:
var myDate = locale.format(new Date(gra.attributes.dateComplete));
myDate = myDate ? myDate : "";
obj = { dateComplete: myDate, {
selector: 'date',
datePattern: "MM'/'dd'/'yyyy"
})};