将字符串转换为日期问题 [英] Converting string to date issue

查看:85
本文介绍了将字符串转换为日期问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想为angular2创建一个管道,这是代码:

I want to create a pipe for angular2, and this is the code:

@Pipe({name: 'stringToDate'})
export class StringToDatePipe implements PipeTransform {
    /**
     * Constructor
     */
    constructor() {
    }
    /**
     * Transform a date that is passed as string into a date
     * @param value The date passed as string
     * @returns {Date} The Date object
     */
    transform(value: string): Date {
        console.log(value);
        let d = new Date(value);
        console.log(d);
        return d;
    }
}

我不知道为什么它创建的日期不正确.这是控制台打印的内容:

I don't know why it is not creating the correct date. This is what console prints:

2016-01-01
Thu Dec 31 2015 21:00:00 GMT-0300

我该如何解决?

推荐答案

可能的解决方案:

@Pipe({name: 'stringToDate'})
export class StringToDatePipe implements PipeTransform {
    /**
     * Constructor
     */
    constructor() {
    }
    /**
     * Transform a date that is passed as string into a date
     * @param value The date passed as string
     * @returns {Date} The Date object
     */
    transform(value: string): Date {
        let reggie = /(\d{4})-(\d{2})-(\d{2})/;
        let dateArray = reggie.exec(value);
        let dateObject = new Date(
            (+dateArray[1]),
            ((+dateArray[2])) - 1, // Careful, month starts at 0!
            (+dateArray[3])
        );
        return dateObject;
    }
}

这篇关于将字符串转换为日期问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆