获取当前日期
const Format = function ( fmt) {
const date = new Date ( ) ;
var o = {
"M+" : date. getMonth ( ) + 1 ,
"d+" : date. getDate ( ) ,
"h+" : date. getHours ( ) ,
"m+" : date. getMinutes ( ) ,
"s+" : date. getSeconds ( ) ,
"q+" : Math. floor ( ( date. getMonth ( ) + 3 ) / 3 ) ,
"S" : date. getMilliseconds ( )
} ;
if ( /(y+)/ . test ( fmt) )
fmt = fmt. replace ( RegExp. $1 , ( date. getFullYear ( ) + "" ) . substr ( 4 - RegExp. $1. length) ) ;
for ( var k in o)
if ( new RegExp ( "(" + k + ")" ) . test ( fmt) ) fmt = fmt. replace ( RegExp. $1 , ( RegExp. $1. length == 1 ) ? ( o[ k] ) : ( ( "00" + o[ k] ) . substr ( ( "" + o[ k] ) . length) ) ) ;
return fmt;
}
}
console. log ( Format ( "yyyy-MM-dd hh:mm:ss" ) )
时间戳转 HH-MM-SS
function formatDate ( time, fmt) {
let date = new Date ( Number ( time) ) ;
if ( /(y+)/ . test ( fmt) ) {
fmt = fmt. replace ( RegExp. $1 , ( date. getFullYear ( ) + '' ) . substr ( 4 - RegExp. $1. length) ) ;
}
let o = {
'M+' : date. getMonth ( ) + 1 ,
'd+' : date. getDate ( ) ,
'h+' : date. getHours ( ) ,
'm+' : date. getMinutes ( ) ,
's+' : date. getSeconds ( )
} ;
for ( let k in o) {
if ( new RegExp ( `( ${ k} )` ) . test ( fmt) ) {
let str = o[ k] + '' ;
fmt = fmt. replace ( RegExp. $1 , ( RegExp. $1. length === 1 ) ? str : ( '00' + str) . substr ( str. length) ) ;
}
}
return fmt;
} ;
console. log ( formatDate ( '1605083318' , 'mm:ss' ) ) ; ;
倒计时
function invertedTime ( endtime) {
var nowtime = new Date ( ) ,
lefttime = endtime. getTime ( ) - nowtime. getTime ( ) ,
d = Math. floor ( lefttime / ( 1000 * 60 * 60 * 24 ) ) ,
h = Math. floor ( lefttime / ( 1000 * 60 * 60 ) % 24 ) ,
m = Math. floor ( lefttime / ( 1000 * 60 ) % 60 ) ,
s = Math. floor ( lefttime / 1000 % 60 ) ;
return {
d, h, m, s
}
}
setInterval ( ( ) => {
invertedTime ( new Date ( "2020-11-10 15:30:00" ) )
} , 1000 )
计时器
function timing ( timestamp) {
var lefttime = ( new Date ( ) ) - ( timestamp) ,
d = Math. floor ( lefttime / ( 1000 * 60 * 60 * 24 ) ) ,
h = Math. floor ( lefttime / ( 1000 * 60 * 60 ) % 24 ) ,
m = Math. floor ( lefttime / ( 1000 * 60 ) % 60 ) ,
s = Math. floor ( lefttime / 1000 % 60 ) ;
return {
d, h, m, s
}
}
setInterval ( ( ) => {
timing ( new Date ( "2020-11-10 15:30:00" ) )
} , 1000 )
获取时间戳
function stamp ( ) {
return Date. parse ( new Date ( ) ) ;
}
stamp ( '2020-11-11 16:28:38' )
固定时间获取时间戳
function stamp ( date) {
return new Date ( date) . getTime ( )
}
stamp ( '2020-11-11 16:28:38' )
多久之前(刚刚,x分钟前,x小时前,x月前)
function timeago ( strtime = '2012-12-12 12:12:12' ) {
var date = new Date ( strtime) ;
var date = new Date ( strtime. replace ( /-/g , '/' ) ) ;
var minute = 1000 * 60 ;
var hour = minute * 60 ;
var day = hour * 24 ;
var week = day * 7 ;
var halfamonth = day * 15 ;
var month = day * 30 ;
var now = new Date ( ) . getTime ( ) ;
const delta = ( new Date ( ) . getTime ( ) - date. getTime ( ) ) / 1000
if ( delta / ( 60 * 60 * 24 * 365 ) > 1 )
return ` ${ parseInt ( delta / ( 60 * 60 * 24 * 365 ) ) } 年前`
if ( delta / ( 60 * 60 * 24 * 30 ) > 1 )
return ` ${ parseInt ( delta / ( 60 * 60 * 24 * 30 ) ) } 个月前`
if ( delta / ( 60 * 60 * 24 * 7 ) > 1 )
return ` ${ parseInt ( delta / ( 60 * 60 * 24 * 7 ) ) } 周前`
if ( delta / ( 60 * 60 * 24 ) > 1 )
return ` ${ parseInt ( delta / ( 60 * 60 * 24 ) ) } 天前`
if ( delta / ( 60 * 60 ) > 1 ) return ` ${ parseInt ( delta / ( 60 * 60 ) ) } 小时前`
if ( delta / 60 > 1 ) return ` ${ parseInt ( delta / 60 ) } 分钟前`
return '刚刚'
}
console. log ( timeago ( '2010-11-11 16:28:38' ) ) ; ;
获取多少天之前的日期时间
SelectDate ( ) {
var end = new Date ( ) ;
var start = new Date ( ) ;
start. setDate ( start. getDate ( ) - 20 ) ;
var startYear = start. getFullYear ( ) ;
var startMonth = start. getMonth ( ) + 1 >= 10 ? start. getMonth ( ) + 1 : "0" + ( start. getMonth ( ) + 1 ) ;
var startDate = start. getDate ( ) >= 10 ? start. getDate ( ) : "0" + start. getDate ( ) ;
var endYear = end. getFullYear ( ) ;
var endtMonth = end. getMonth ( ) + 1 >= 10 ? end. getMonth ( ) + 1 : "0" + ( end. getMonth ( ) + 1 ) ;
var endDate = end. getDate ( ) >= 10 ? end. getDate ( ) : "0" + end. getDate ( ) ;
value1 = startYear + "-" + startMonth + "-" + startDate;
value2 = endYear + "-" + endtMonth + "-" + endDate;
} ,