How to parse a date in format “YYYYmmdd” in JavaScript?

后端 未结 5 1294
自闭症患者
自闭症患者 2020-11-27 21:55

This is a noob question:

How to parse a date in format \"YYYYmmdd\" without external libraries ? If the input string is not in this format I would like

5条回答
  •  心在旅途
    2020-11-27 22:34

    A more robust version validating the numbers :

     function parse (str) {
            // validate year as 4 digits, month as 01-12, and day as 01-31 
            if ((str = str.match (/^(\d{4})(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])$/))) {
               // make a date
               str[0] = new Date (+str[1], +str[2] - 1, +str[3]);
               // check if month stayed the same (ie that day number is valid)
               if (str[0].getMonth () === +str[2] - 1)
                  return str[0];
            }
            return undefined;
     }
    

    See fiddle at : http://jsfiddle.net/jstoolsmith/zJ7dM/

    I recently wrote a much more capable version you can find here : http://jsfiddle.net/jstoolsmith/Db3JM/

提交回复
热议问题