Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | 1x 1x 1x 6x 1x 5x 5x 5x 5x 5x 5x 1x 5x 5x 5x 5x 5x 5x 5x 5x 5x 5x 2x 5x 1x 5x 5x 1x | /** * 获取某个时间的 整年|整月|整日|整时|整分 时间对象 * @method date/getTimeSplit * @param {Number|Date} time 实际时间 * @param {String} type 单位时间类型,可选 ['year', 'month', 'week', 'day', 'hour'] * @returns {Date} 时间整点对象 * @example * var $getTimeSplit = require('@spore-ui/kit/packages/date/getTimeSplit'); * new Date( * $getTimeSplit( * '2018-09-20', * 'month' * ) * ).toGMTString(); * // Sat Sep 01 2018 00:00:00 GMT+0800 (中国标准时间) * * new Date( * $getTimeSplit( * '2018-09-20 19:23:36', * 'hour' * ) * ).toGMTString(); * // Thu Sep 20 2018 19:00:00 GMT+0800 (中国标准时间) */ var $getUTCDate = require('./getUTCDate'); var DAY = 24 * 60 * 60 * 1000; var TIME_UNITS = [ 'hour', 'day', 'week', 'month', 'year', ]; function getTimeSplit(time, type) { if (!type) { throw new Error('required param type'); } var localTime = new Date(time); var utcTime = $getUTCDate(time); // 以周一为起始时间 var day = utcTime.getDay(); day = day === 0 ? 6 : day - 1; var index = TIME_UNITS.indexOf(type); if (index === 2) { utcTime = new Date(localTime - day * DAY); } var year = utcTime.getUTCFullYear(); var month = utcTime.getUTCMonth() + 1; var date = utcTime.getUTCDate(); var hour = utcTime.getUTCHours(); var minutes = utcTime.getUTCMinutes(); Eif (index >= 0) { minutes = '00'; } Eif (index >= 1) { hour = '00'; } if (index >= 3) { date = 1; } if (index >= 4) { month = 1; } var str = [ [year, month, date].join('/'), [hour, minutes].join(':'), ].join(' '); return new Date(str); } module.exports = getTimeSplit; |