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

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只能通过'-'去选择格式,迫于无奈要两次转换。

转载于:https://my.oschina.net/u/2949632/blog/896488

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值