parseDate.js 694 B

12345678910111213141516171819
  1. Object.defineProperty(exports, "__esModule", {
  2. value: true
  3. });
  4. exports.default = parseDate;
  5. function parseDate(iso8601) {
  6. var regexp = new RegExp('^([0-9]{1,4})-([0-9]{1,2})-([0-9]{1,2})' + 'T' + '([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})' + '(.([0-9]+))?' + 'Z$');
  7. var match = regexp.exec(iso8601);
  8. if (!match) {
  9. return null;
  10. }
  11. var year = parseInt(match[1]) || 0;
  12. var month = (parseInt(match[2]) || 1) - 1;
  13. var day = parseInt(match[3]) || 0;
  14. var hour = parseInt(match[4]) || 0;
  15. var minute = parseInt(match[5]) || 0;
  16. var second = parseInt(match[6]) || 0;
  17. var milli = parseInt(match[8]) || 0;
  18. return new Date(Date.UTC(year, month, day, hour, minute, second, milli));
  19. }