date - Vue.js 日期无效
问题描述
我有几个使用日期的 .vue 类。
我遇到的问题是,当我在使用 Chrome 调试工具时在 SharePoint 页面上上传代码时,会出现很多日期错误,例如
Not a valid date: "2019-09-19T01:00:00Z"
(见截图)
在互联网上,我只在 github 上找到了这个:
https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md
所以我尝试只使用MM
大写字母,但错误仍然出现。
我在 Vue.js 方面没有太多经验,所以我不知道我到底可以尝试改变什么。
在我的data:function()
我得到以下部分
data: function() {
return {
baseImageUrl: this.$store.state.baseImageUrl,
histories: [],
columns: [
{
label: "Created On",
field: "createdAt",
type: "date",
dateInputFormat: "yyyy-MM-dd",
dateOutputFormat: "DD.MM.YYYY",
thClass: "text-left",
tdClass: "text-center",
width: '151px',
filterOptions: {
enabled: true,
placeholder: "Date",
// filterFn: this.myColumnFilter
}
},
在我的methods
我得到
HistorysData: function(data) {
var data = data.d.results;
this.histories = [];
var $this = this;
for (var i = 0; i < data.length; i++) {
var Created = this.getJSONDateAsString(data[i].Created, "dd.MM.yyyy");
$this.rows.push({
createdAt: data[i].date,
action: data[i].act,
details: data[i].details,
correspondingListID: data[i].CorrespondingListID
});
}
},
被getJSONDateAsString
定义为
getJSONDateAsString: function(jsdatevalue, returnFormat) {
if ((jsdatevalue == "") | (jsdatevalue == null)) {
return "";
}
return new Date(jsdatevalue).toString(returnFormat);
}
解决方案
对日期应用过滤器并返回标准日期格式以供输出。Format 函数来自date-fns,但您可以使用任何将其格式化为 MM/DD/YYYY 的东西。还有其他公认的ISO 格式,但这是我迄今为止使用过的最可靠的格式。
DateFilter(dateString: string) {
if (dateString) {
return format(dateString, 'MM/DD/YYYY');
}
else {
return "";
}
},
如果你也需要时间
DateTimeFilter(dateString: string) {
if (dateString) {
return format(dateString, 'MM/DD/YYYY HH:mm');
}
else {
return "";
}
},
推荐阅读
- javascript - ViewModel 的模型绑定数组的问题
- mongodb - 聚合在独立但不在分片集群中工作
- python - Inpaint() 函数不适用于所有类型的图像以使用 python opencv 去除水印
- node.js - 如何让编译器知道我在哪里导入
- javascript - 角度:无错误但未在材料表中显示数据
- angular - 查询字符串格式传递用户名和密码
- javascript - jQuery .toggleClass() 在打开类后不会关闭类
- azure - 无法将 Azure-DevOps 与 Azure 容器注册表连接
- php - 在查找数组数据上实现的 Foreach 只找到一个数据
- bash - 如何将管道阶段变量传递给makefile