util.js 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. let weekArray = new Array("日", "一", "二", "三", "四", "五", "六").map(x => `星期${x}`);
  2. //格式化日期
  3. const formatDate = (date = new Date()) => {
  4. const formatNumber = n => {
  5. n = n.toString()
  6. return n[1] ? n : '0' + n
  7. }
  8. const year = date.getFullYear()
  9. const month = date.getMonth() + 1
  10. const day = date.getDate()
  11. return [year, month, day].map(formatNumber).join('-')
  12. }
  13. function formatTime(time) {
  14. if (typeof time !== 'number' || time < 0) {
  15. return time
  16. }
  17. const hour = parseInt(time / 3600, 10)
  18. time %= 3600
  19. const minute = parseInt(time / 60, 10)
  20. time = parseInt(time % 60, 10)
  21. const second = time
  22. return ([hour, minute, second]).map(function(n) {
  23. n = n.toString()
  24. return n[1] ? n : '0' + n
  25. }).join(':')
  26. }
  27. function formatDateTime(date, withMs = false) {
  28. function formatLeadingZeroNumber(n, digitNum = 2) {
  29. n = n.toString()
  30. const needNum = Math.max(digitNum - n.length, 0)
  31. return new Array(needNum).fill(0).join('') + n
  32. }
  33. const year = date.getFullYear()
  34. const month = date.getMonth() + 1
  35. const day = date.getDate()
  36. const hour = date.getHours()
  37. const minute = date.getMinutes()
  38. const second = date.getSeconds()
  39. const ms = date.getMilliseconds()
  40. let ret = [year, month, day].map(value => formatLeadingZeroNumber(value, 2)).join('-') +
  41. ' ' + [hour, minute, second].map(value => formatLeadingZeroNumber(value, 2)).join(':')
  42. if (withMs) {
  43. ret += '.' + formatLeadingZeroNumber(ms, 3)
  44. }
  45. return ret
  46. }
  47. function dateLaters(days, todate = new Date()) {
  48. var dateArry = [];
  49. for (var i = 0; i < days; i++) {
  50. var dateObj = dateLater(todate, i);
  51. dateArry.push(dateObj)
  52. }
  53. return dateArry;
  54. }
  55. function dateLater(dates, later = 0) {
  56. let date = new Date(dates);
  57. date.setDate(date.getDate() + later);
  58. let day = date.getDay();
  59. let yearDate = date.getFullYear();
  60. let month = ((date.getMonth() + 1) < 10 ? ("0" + (date.getMonth() + 1)) : date.getMonth() + 1);
  61. let dayFormate = (date.getDate() < 10 ? ("0" + date.getDate()) : date.getDate());
  62. return [yearDate + '-' + month + '-' + dayFormate, weekArray[day]];
  63. }
  64. function formatLocation(longitude, latitude) {
  65. if (typeof longitude === 'string' && typeof latitude === 'string') {
  66. longitude = parseFloat(longitude)
  67. latitude = parseFloat(latitude)
  68. }
  69. longitude = longitude.toFixed(2)
  70. latitude = latitude.toFixed(2)
  71. return {
  72. longitude: longitude.toString().split('.'),
  73. latitude: latitude.toString().split('.')
  74. }
  75. }
  76. function getDateStr(today, addDayCount) {
  77. var dd;
  78. if (today) {
  79. dd = new Date(today);
  80. } else {
  81. dd = new Date();
  82. }
  83. dd.setDate(dd.getDate() + addDayCount); //获取AddDayCount天后的日期
  84. var y = dd.getFullYear();
  85. var m = dd.getMonth() + 1; //获取当前月份的日期
  86. var d = dd.getDate();
  87. if (m < 10) {
  88. m = '0' + m;
  89. };
  90. if (d < 10) {
  91. d = '0' + d;
  92. };
  93. return y + "-" + m + "-" + d;
  94. }
  95. function httpRequest(url, data = {}, method = "GET") {
  96. let contentType
  97. if (method == 'GET' || method == 'get') {
  98. contentType = 'application/json;charset=UTF-8'
  99. } else if (method == 'POST' || method == 'post') {
  100. contentType = 'application/x-www-form-urlencoded'
  101. }
  102. return new Promise(function(resolve, reject) {
  103. wx.request({
  104. url: url,
  105. data: data,
  106. method: method,
  107. header: {
  108. 'Content-Type': contentType,
  109. },
  110. success: function(res) {
  111. console.log(res);
  112. if (res.data.errmsg == "success" || res.data.errmsg == '成功' || res.data.errmsg == null) {
  113. resolve(res);
  114. } else {
  115. console.log('请求失败');
  116. wx.showToast({
  117. title: res.data.errmsg,
  118. icon: 'none'
  119. })
  120. }
  121. },
  122. fail: function(res) {
  123. console.log(res);
  124. resolve(res);
  125. }
  126. })
  127. });
  128. }
  129. module.exports = {
  130. formatDate,
  131. formatTime,
  132. formatDateTime,
  133. dateLaters,
  134. dateLater,
  135. formatLocation,
  136. getDateStr,
  137. httpRequest
  138. }