Advertisement
Guest User

Untitled

a guest
Oct 26th, 2016
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.51 KB | None | 0 0
  1. /* Units: ms, s, m, h, d */
  2. window.durationToString = function (duration, unit, minRate) {
  3. var str = ''
  4. unit = unit.toLowerCase()
  5. if (minRate === undefined) {
  6. minRate = 0.02
  7. }
  8.  
  9. if (unit.startsWith('s')) {
  10. duration *= 1000
  11. } else if (unit == 'm' || unit.startsWith('min')) {
  12. duration *= 1000 * 60
  13. } else if (unit.startsWith('h')) {
  14. duration *= 1000 * 60 * 60
  15. } else if (unit.startsWith('d') || unit.startsWith('j')) {
  16. duration *= 1000 * 60 * 60 * 24
  17. }
  18.  
  19. var saveDuration = duration
  20. var checkUnit = function (interval, name, twoDigitsMin) {
  21. var val = ~~(duration / interval)
  22. duration = duration - val * interval
  23. if (val > 0 && (val * interval) / saveDuration >= minRate) {
  24. if (val < 10 && twoDigitsMin === true) {
  25. str += '0'
  26. }
  27. str += val + name
  28. }
  29. }
  30.  
  31. checkUnit(1000 * 60 * 60 * 24, 'j')
  32. checkUnit(1000 * 60 * 60, 'h', true)
  33. checkUnit(1000 * 60, 'm', true)
  34. checkUnit(1000, 's', true)
  35. checkUnit(1, 'ms')
  36.  
  37. return str
  38. }
  39.  
  40. /* durationToString(61, 'm') 01h */
  41. /* durationToString(62, 'm') 01h02m */
  42. /* durationToString(61, 'm', 0) 01h01m */
  43. /* durationToString(123.32, 'm') 02h03m */
  44. /* durationToString(123.32, 'm', 0) 02h03m19s200ms */
  45. /* durationToString(61, 'h') 2j13h */
  46. /* durationToString(3, 'd') 3j */
  47. /* durationToString(3.632, 'd') 3j15h */
  48. /* durationToString(3.632, 'd', 0) 3j15h10m04s800ms */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement