您的位置:首页 > 其它

选取日历组件时间,当选择同一天的时候会出现选择不了的情况

2017-05-10 00:00 393 查看
摘要: 时间格式

let endTime = this.datePipe.transform(this.flowRequestVo.endTime, 'yyyy-MM-dd 23:59:59');
this.flowRequestVo.endTime = this.getDate(endTime);

this.datePipe.transform -> 管道转换格式,由于上图的endTime是通过日历组件获取时间,时间会拿到前一天的日期和08:00:00, (eg: Tue Jun 05 2017 08:00:00 GMT+0800, 这里我明明选择了6月6日),当通过管道转换后的日期为字符串(eg: '2017-06-06 23:59:59'),但在后台作数据选择要通过标准的日期格式去筛选数据,所以很自然的再次 new Date('2017-06-06 23:59:59')一次,让其转换成标准的日期格式,但就在这里坑出来了,new Date()如果要传参数获取标准的日期格式,只能一下两种传

new Date(2009,1,1); //正确 这不是字符串

new Date("2009/1/1"); //正确

new Date("2009-1-1"); //错误

所以才会出现下面的方法取转换时间格式,简单的2017-06-06转换不了

/**
* 将字符串的日期转换为标准日期格式
* @param strDate
* @returns {Date}
*/
getDate(strDate): any {
strDate = strDate.replace(/-/g,"/");
return  new Date(strDate);
}

为何要两次转换,因为ng2的内置管道DatePipe只能通过'-'去选择格式,迫于无奈要两次转换。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐