C端小程序
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

106 lines
2.6 KiB

  1. var barcode = require("./barcode");
  2. var qrcode = require("./qrcode");
  3. const formatTime = (date, fmt) => {
  4. try {
  5. if (!date) {
  6. return date;
  7. }
  8. if (typeof date == "number") {
  9. date = new Date(date);
  10. }
  11. // console.log(date);
  12. var o = {
  13. "M+": date.getMonth() + 1, //月份
  14. "d+": date.getDate(), //日
  15. "h+": date.getHours(), //小时
  16. "m+": date.getMinutes(), //分
  17. "s+": date.getSeconds(), //秒
  18. "q+": Math.floor((date.getMonth() + 3) / 3), //季度
  19. S: date.getMilliseconds() //毫秒
  20. };
  21. if (/(y+)/.test(fmt))
  22. fmt = fmt.replace(
  23. RegExp.$1,
  24. (date.getFullYear() + "").substr(4 - RegExp.$1.length)
  25. );
  26. for (var k in o)
  27. if (new RegExp("(" + k + ")").test(fmt))
  28. fmt = fmt.replace(
  29. RegExp.$1,
  30. RegExp.$1.length == 1
  31. ? o[k]
  32. : ("00" + o[k]).substr(("" + o[k]).length)
  33. );
  34. return fmt;
  35. } catch (error) {
  36. return date;
  37. }
  38. };
  39. const formatNumber = n => {
  40. n = n.toString();
  41. return n[1] ? n : "0" + n;
  42. };
  43. function convert_length(length) {
  44. return Math.round((wx.getSystemInfoSync().windowWidth * length) / 750);
  45. }
  46. function barc(id, code, width, height) {
  47. barcode.code128(
  48. wx.createCanvasContext(id),
  49. code,
  50. convert_length(width),
  51. convert_length(height)
  52. );
  53. }
  54. function qrc(id, code, width, height) {
  55. qrcode.api.draw(code, {
  56. ctx: wx.createCanvasContext(id),
  57. width: convert_length(width),
  58. height: convert_length(height)
  59. });
  60. }
  61. function fmtDate(obj) {
  62. var date = new Date(obj);
  63. var y = 1900 + date.getYear();
  64. var m = "0" + (date.getMonth() + 1);
  65. var d = "0" + date.getDate();
  66. return (
  67. y +
  68. "-" +
  69. m.substring(m.length - 2, m.length) +
  70. "-" +
  71. d.substring(d.length - 2, d.length)
  72. );
  73. }
  74. //计算下单的时间与现在的时间的
  75. function timechuo(startTime) {
  76. var s1 = new Date(startTime.replace(/-/g, "/"));
  77. var s2 = new Date();
  78. var runTime = parseInt((s1.getTime() - s2.getTime()) / 1000);
  79. var year = Math.floor(runTime / 86400 / 365);
  80. var runTime = runTime % (86400 * 365);
  81. var month = Math.floor(runTime / 86400 / 30);
  82. var runTime = runTime % (86400 * 30);
  83. var day = Math.floor(runTime / 86400);
  84. var runTime = runTime % 86400;
  85. var hour = Math.floor(runTime / 3600);
  86. var runTime = runTime % 3600;
  87. var minute = Math.floor(runTime / 60);
  88. var runTime = runTime % 60;
  89. var second = runTime;
  90. console.log(month, day, hour, minute, second);
  91. return (day+"天"+hour+"小时"+minute+"分钟")
  92. }
  93. module.exports = {
  94. formatTime: formatTime,
  95. barcode: barc,
  96. qrcode: qrc,
  97. fmtDate: fmtDate,
  98. timechuo:timechuo
  99. };