将数字四舍五入到指定的小数位数

将数字四舍五入到指定的小数位数。使用 Math.round() 和模板字面量将数字四舍五入为指定的小数位数。 省略第二个参数 decimals ,数字将被四舍五入到一个整数。

  1. const round = (n, decimals = 0) => Number(`${Math.round(`${n}e${decimals}`)}e-${decimals}`)
  2. round(1.345, 2) // 1.35
  3. round(1.345, 1) // 1.3

时间格式化

  1. Helper.dateFormat(new Date(), 'yyyy-MM-dd hh:mm:ss')
  1. function dateFormat(date, fmt) {
  2. var o = {
  3. 'M+': date.getMonth() + 1,
  4. 'd+': date.getDate(),
  5. 'h+': date.getHours(),
  6. 'm+': date.getMinutes(),
  7. 's+': date.getSeconds(),
  8. 'q+': Math.floor((date.getMonth() + 3) / 3),
  9. 'S': date.getMilliseconds()
  10. }
  11. if (/(y+)/.test(fmt)) {
  12. fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length))
  13. }
  14. for (var k in o) {
  15. if (new RegExp('(' + k + ')').test(fmt)) {
  16. fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length)))
  17. }
  18. }
  19. return fmt
  20. }

xx个小时前发布

ios在对于new Date解析的时候存在问题,所以需要做一下处理new Date(time.replace(/-/g,’/‘)).getTime(),如下所以,以下参数格式 2019-4-45

  1. function getDateDiffCountdown(time) {
  2. let dateTimeStamp = new Date(time.replace(/-/g,'/')).getTime()
  3. let result = time
  4. let minute = 1000 * 60
  5. let hour = minute * 60
  6. let day = hour * 24
  7. let month = day * 30
  8. let now = new Date().getTime()
  9. let diffValue = now - dateTimeStamp
  10. if (diffValue < 0) return
  11. var monthC = diffValue / month
  12. let weekC = diffValue / (7 * day)
  13. let dayC = diffValue / day
  14. let hourC = diffValue / hour
  15. let minC = diffValue / minute
  16. if (monthC >= 1) {
  17. return result
  18. }
  19. if (weekC >= 1) {
  20. result = parseInt(weekC) + "周前"
  21. return result;
  22. }
  23. if (dayC >= 1) {
  24. result = parseInt(dayC) + "天前"
  25. return result;
  26. }
  27. if (hourC >= 1) {
  28. result = parseInt(hourC) + "小时前"
  29. return result;
  30. }
  31. if (minC >= 1) {
  32. result = parseInt(minC) + "分钟前"
  33. return result
  34. }
  35. return "刚刚"
  36. }

活动已经开始xx秒

  1. getDateDiff(start, currentTime, 'second') // 活动已经开始xx秒
  1. function getDateDiff(startTime, endTime, diffType) {
  2. // 将xxxx-xx-xx的时间格式,转换为 xxxx/xx/xx的格式
  3. startTime = startTime.replace(/\-/g, '/')
  4. endTime = endTime.replace(/\-/g, '/')
  5. // 将计算间隔类性字符转换为小写
  6. diffType = diffType.toLowerCase()
  7. var sTime = new Date(startTime) // 开始时间
  8. var eTime = new Date(endTime) // 结束时间
  9. // 作为除数的数字
  10. var divNum = 1
  11. switch (diffType) {
  12. case 'second':
  13. divNum = 1000
  14. break
  15. case 'minute':
  16. divNum = 1000 * 60
  17. break
  18. case 'hour':
  19. divNum = 1000 * 3600
  20. break
  21. case 'day':
  22. divNum = 1000 * 3600 * 24
  23. break
  24. default:
  25. break
  26. }
  27. return parseInt((eTime.getTime() - sTime.getTime()) / parseInt(divNum))
  28. }

时间格式倒计时

  1. function getNextMondayDay() {
  2. var Stamp;
  3. Stamp = new Date();
  4. var num = 7 - Stamp.getDay() + 1;
  5. Stamp.setDate(Stamp.getDate() + num);
  6. var year = Stamp.getFullYear(); //获取完整的年份(4位,1970-????)
  7. var month = Stamp.getMonth() + 1; //获取当前月份(0-11,0代表1月)
  8. var mvar = "";
  9. if (month < 10) {
  10. mvar = "0" + month;
  11. } else {
  12. mvar = month + "";
  13. }
  14. var day = Stamp.getDate();
  15. var dvar = "";
  16. if (day < 10) {
  17. dvar = "0" + day;
  18. } else {
  19. dvar = day + "";
  20. }
  21. return mvar +"/"+ dvar +'/'+year + " 04:00"
  22. }