使用方法:
const TimeUtils = require('../../utils/timeUtils.js');
TimeUtils.Jh_timeStampToTime(1554803832, '{y}年{m}月{d}日 {h}:{i}:{s} 星期{w}') 1487065320000
timeUtils.js
module.exports = {
Jh_getTimeStamp: Jh_getTimeStamp,
Jh_convertTimeStamp: Jh_convertTimeStamp,
Jh_timeStampToTime: Jh_timeStampToTime,
Jh_timeStampToNo0Time: Jh_timeStampToNo0Time,
Jh_timeStampToYMD: Jh_timeStampToYMD,
Jh_timeStampToYMDHMS: Jh_timeStampToYMDHMS,
Jh_getYear: Jh_getYear,
Jh_getMonth: Jh_getMonth,
Jh_getDay: Jh_getDay,
Jh_getWeek: Jh_getWeek,
Jh_getYearMonthDayWeek: Jh_getYearMonthDayWeek,
Jh_getLastYear: Jh_getLastYear,
Jh_getNextYear: Jh_getNextYear,
Jh_getYearMonth: Jh_getYearMonth,
Jh_getLastYearMonth: Jh_getLastYearMonth,
Jh_getNextYearMonth: Jh_getNextYearMonth,
Jh_isToday: Jh_isToday,
Jh_isBetweenTimes: Jh_isBetweenTimes,
Jh_getEndTime: Jh_getEndTime
}
function Jh_getTimeStamp() {
let timestamp = Date.parse(new Date());
return timestamp;
}
function Jh_convertTimeStamp(time) {
let newTime = time.replace(/-/g, '/');
newTime = newTime.replace(/\./g, '/')
newTime = newTime.replace(/年/g, '/');
newTime = newTime.replace(/月/g, '/');
newTime = newTime.replace(/日/g, '');
if (newTime.length == 5) {
newTime = newTime.substring(0, 4)
}
return Date.parse(newTime)
}
function Jh_timeStampToTime(time, cFormat) {
if (arguments.length === 0) {
return null
}
const format = cFormat || '{y}-{m}-{d} {h}:{i}:{s}'
let date
if (typeof time === 'object') {
} else {
if (('' + time).length === 10) time = parseInt(time) * 1000
date = new Date(time)
}
const formatObj = {
y: date.getFullYear(),
m: date.getMonth() + 1,
d: date.getDate(),
h: date.getHours(),
i: date.getMinutes(),
s: date.getSeconds(),
w: date.getDay()
}
const time_str = format.replace(/{(y|m|d|h|i|s|w)+}/g, (result, key) => {
let value = formatObj[key]
if (key === 'w') {
return ['日', '一', '二', '三', '四', '五', '六'][value]
}
if (result.length > 0 && value < 10) {
value = '0' + value
}
return value || 0;
})
return time_str;
}
function Jh_timeStampToNo0Time(time, cFormat) {
if (arguments.length === 0) {
return null
}
const format = cFormat || '{y}-{m}-{d} {h}:{i}:{s}'
let date
if (typeof time === 'object') {
} else {
if (('' + time).length === 10) time = parseInt(time) * 1000
date = new Date(time)
}
const formatObj = {
y: date.getFullYear(),
m: date.getMonth() + 1,
d: date.getDate(),
h: date.getHours(),
i: date.getMinutes(),
s: date.getSeconds(),
w: date.getDay()
}
const time_str = format.replace(/{(y|m|d|h|i|s|w)+}/g, (result, key) => {
let value = formatObj[key]
if (key === 'w') {
return ['日', '一', '二', '三', '四', '五', '六'][value]
}
return value || 0;
})
return time_str;
}
function Jh_timeStampToYMD(time, format) {
time = time ? time : Jh_getTimeStamp()
if (format) {
return Jh_timeStampToTime(time, format)
}
return Jh_timeStampToTime(time, '{y}/{m}/{d}')
}
function Jh_timeStampToYMDHMS(time, format) {
time = time ? time : Jh_getTimeStamp()
if (format) {
return Jh_timeStampToTime(time, format)
}
return Jh_timeStampToTime(time, '{y}/{m}/{d} {h}:{i}:{s}')
}
function Jh_getYear() {
return Jh_timeStampToTime(Jh_getTimeStamp(), '{y}')
}
function Jh_getMonth() {
return Jh_timeStampToTime(Jh_getTimeStamp(), '{m}')
}
function Jh_getDay() {
return Jh_timeStampToTime(Jh_getTimeStamp(), '{d}')
}
function Jh_getWeek() {
return Jh_timeStampToTime(Jh_getTimeStamp(), '{w}')
}
function Jh_getYearMonthDayWeek() {
return Jh_timeStampToTime(Jh_getTimeStamp(), '{y}年{m}月{d}日 {h}:{i}:{s} 星期{w}')
}
function Jh_getLastYear(time) {
time = time ? time : Jh_getYear()
let tempYear = time.substring(0, 4)
tempYear = parseInt(tempYear)
tempYear = tempYear - 1
let text = time.substring(4, 5)
let lastYear = ''
if (text == '年') {
lastYear = tempYear + '年'
} else {
lastYear = tempYear + text
}
return lastYear
}
function Jh_getNextYear(time) {
time = time ? time : Jh_getYear()
let tempYear = time.substring(0, 4)
tempYear = parseInt(tempYear)
tempYear = tempYear + 1
let text = time.substring(4, 5)
let nextTime = ''
if (text == '年') {
nextTime = tempYear + '年'
} else {
nextTime = tempYear + text
}
return nextTime
}
function Jh_getYearMonth() {
return Jh_timeStampToTime(Jh_getTimeStamp(), '{y}年{m}月')
}
function Jh_getLastYearMonth(time) {
time = time ? time : Jh_getYearMonth()
let tempYear = time.substring(0, 4)
let tempMonth = time.substring(5, 7)
tempYear = parseInt(tempYear)
tempMonth = parseInt(tempMonth)
tempMonth = tempMonth - 1
if (tempMonth == 0) {
tempYear = tempYear - 1
tempMonth = 12
}
if (tempMonth < 10) {
tempMonth = '0' + tempMonth
}
let text = time.substring(4, 5)
let lastTime = ''
if (text == '年') {
tempMonth = parseInt(tempMonth)
lastTime = tempYear + '年' + tempMonth + '月'
} else {
lastTime = tempYear + text + tempMonth
}
return lastTime
}
function Jh_getNextYearMonth(time) {
time = time ? time : Jh_getYearMonth()
let tempYear = time.substring(0, 4)
let tempMonth = time.substring(5, 7)
tempYear = parseInt(tempYear)
tempMonth = parseInt(tempMonth)
tempMonth = tempMonth + 1
if (tempMonth == 13) {
tempYear = tempYear + 1
tempMonth = 1
}
if (tempMonth < 10) {
tempMonth = '0' + tempMonth
}
let text = time.substring(4, 5)
let nextTime = ''
if (text == '年') {
tempMonth = parseInt(tempMonth)
nextTime = tempYear + '年' + tempMonth + '月'
} else {
nextTime = tempYear + text + tempMonth
}
return nextTime
}
function Jh_isToday(time) {
time = time.replace(/\//g, '');
let newTime = time.replace(/-/g, '');
newTime = newTime.substring(0, 8);
var currentTime = new Date().getTime();
currentTime = Jh_timeStampToTime(currentTime, '{y}{m}{d}')
return newTime == currentTime
}
function Jh_isBetweenTimes(beginTime, endTime) {
beginTime = beginTime.replace(/-/g, '/');
endTime = endTime.replace(/-/g, '/');
beginTime = new Date(beginTime)
endTime = new Date(endTime)
let currentTime = new Date();
if (beginTime <= currentTime && currentTime <= endTime) {
return true;
}
return false;
}
function Jh_getEndTime(time) {
time = time.replace(/-/g, '/');
var year = new Date(time).getFullYear();
var month = new Date(time).getMonth() + 1;
var date = new Date(time).getDate();
var now = new Date();
var endDate = new Date(new Date(time).toLocaleDateString());
var leftTime = endDate.getTime() - now.getTime();
var leftsecond = parseInt(leftTime / 1000);
var day = Math.floor(leftsecond / (60 * 60 * 24));
var hour = Math.floor((leftsecond - day * 24 * 60 * 60) / 3600);
var minute = Math.floor((leftsecond - day * 24 * 60 * 60 - hour * 3600) / 60);
var second = Math.floor(leftsecond - day * 60 * 60 * 24 - hour * 60 * 60 - minute * 60);
return `距离${
year}年${
month}月${
date}日还有${
day}天${
hour}小时${
minute}分${
second}秒`;
}