date.js 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. const formatTime = date => {
  2. const year = date.getFullYear()
  3. const month = date.getMonth() + 1
  4. const day = date.getDate()
  5. const hour = date.getHours()
  6. const minute = date.getMinutes()
  7. const second = date.getSeconds()
  8. return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')
  9. }
  10. const formatNumber = n => {
  11. n = n.toString()
  12. return n[1] ? n : '0' + n
  13. }
  14. const formatDate = date => {
  15. const year = date.getFullYear()
  16. const month = date.getMonth() + 1
  17. const day = date.getDate()
  18. const hour = date.getHours()
  19. const minute = date.getMinutes()
  20. const second = date.getSeconds()
  21. return [year, month, day].map(formatNumber).join('/')
  22. }
  23. //计算相差天数
  24. const datedifference = (sDate1, sDate2) => { //sDate1和sDate2是2006-12-18格式
  25. // console.log("datedifference=",sDate1,sDate2)
  26. var dateSpan,
  27. tempDate,
  28. iDays;
  29. sDate1 = Date.parse(sDate1.replace(/-/g, '/'));
  30. sDate2 = Date.parse(sDate2.replace(/-/g, '/'));
  31. dateSpan = sDate2 - sDate1;
  32. dateSpan = Math.abs(dateSpan);
  33. iDays = Math.floor(dateSpan / (24 * 3600 * 1000));
  34. return iDays
  35. };
  36. const getDays =(date1, date2)=> {
  37. const dateTime = 1000 * 60 * 60 * 24; //每一天的毫秒数
  38. const minusDays = Math.floor(((date2.getTime() - date1.getTime()) / dateTime));//计算出两个日期的天数差
  39. return Math.abs(minusDays);
  40. }
  41. /**
  42. * [dateAddDays 从某个日期增加n天后的日期]
  43. * @param {[string]} dateStr [日期字符串]
  44. * @param {[int]} dayCount [增加的天数]
  45. * @return {[string]}[增加n天后的日期字符串]
  46. */
  47. const dateAddDays=(dateStr,dayCount) => {
  48. var tempDate=new Date(dateStr.replace(/-/g,"/"));//把日期字符串转换成日期格式
  49. var resultDate=new Date((tempDate/1000+(86400*dayCount))*1000);//增加n天后的日期
  50. var resultDateStr=resultDate.getFullYear()+"-"+(resultDate.getMonth()+1)+"-"+(resultDate.getDate());//将日期转化为字符串格式
  51. return resultDateStr;
  52. }
  53. /**
  54. * 根据newDate 来获取加的日期
  55. */
  56. const addDaysFromNewDate=(tempDate,dayCount) => {
  57. var resultDate=new Date((tempDate/1000+(86400*dayCount))*1000);//增加n天后的日期
  58. var resultDateStr=resultDate.getFullYear()+"/"+(resultDate.getMonth()+1)+"/"+(resultDate.getDate());//将日期转化为字符串格式
  59. return resultDateStr;
  60. }
  61. const getWeightDate = date => {
  62. var timearr = date.replace(" ", ":").replace(/\:/g, "-").split("-");
  63. var timestr = "" + timearr[1] + "/" + timearr[2]
  64. return timestr
  65. }
  66. export default {
  67. formatTime,
  68. formatDate,
  69. datedifference,
  70. getDays,
  71. dateAddDays,
  72. addDaysFromNewDate,
  73. getWeightDate
  74. }