我正在尝试使用 dojo/date/locale 来打印日期值,其中 NULL 值显示为“”(空白)。我正在处理的脚本从工作流数据库中提取功能,该数据库可能只能由用户部分完成,该数据库当前存储 2 个属性:FileName 和 dateComplete。目前,空日期值打印为 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();
关于javascript - dojo/date/locale - 空日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47891006/