date.js 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. // date.js
  2. export function formatDate(date, fmt) {
  3. if (/(y+)/.test(fmt)) {
  4. fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));
  5. }
  6. let o = {
  7. 'M+': date.getMonth() + 1,
  8. 'd+': date.getDate(),
  9. 'h+': date.getHours(),
  10. 'm+': date.getMinutes(),
  11. 's+': date.getSeconds()
  12. };
  13. for (let k in o) {
  14. if (new RegExp(`(${k})`).test(fmt)) {
  15. let str = o[k] + '';
  16. fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : padLeftZero(str));
  17. }
  18. }
  19. return fmt;
  20. }
  21. function padLeftZero(str) {
  22. return ('00' + str).substr(str.length);
  23. }
  24. export function str2Date(dateStr, separator) {
  25. if (!separator) {
  26. separator = "-";
  27. }
  28. let dateArr = dateStr.split(separator);
  29. let year = parseInt(dateArr[0]);
  30. let month;
  31. //处理月份为04这样的情况
  32. if (dateArr[1].indexOf("0") == 0) {
  33. month = parseInt(dateArr[1].substring(1));
  34. } else {
  35. month = parseInt(dateArr[1]);
  36. }
  37. let day = parseInt(dateArr[2]);
  38. let date = new Date(year, month - 1, day);
  39. return date;
  40. }