js 시간 상용 처리 방법

20000 단어

자 바스 크 립 트 핵심 은 데이터 () 구조 함 수 를 포함 하여 시간 과 날 짜 를 나타 내 는 대상 을 만 드 는 것 으로 알려 져 있다.
오늘 은 주로 여러분 과 정리 하고 자주 사용 하 는 시간, 날짜 처리 방법 으로 여러분 의 사용 과 이 해 를 편리 하 게 합 니 다.
포맷 시간
늘 하 는 말 인 데, 아마 이렇게 쓸 것 이다.
1
2
3
4
5
6
7
8
9
10
11
var format = function (time) { 
var y = time.getFullYear(); //getFullYear
var M = time.getMonth() + 1; // getMonth Date (0 ~ 11),
var d = time.getDate(); // getDate Date (1 ~ 31)
var h = time.getHours(); // getHours Date (0 ~ 23)
var m = time.getMinutes(); // getMinutes Date (0 ~ 59)
var s = time.getSeconds(); // getSeconds Date (0 ~ 59)
return y + '-' + M + '-' + d + ' ' + h + ':' + m + ':' + s;
}

var time1 = format(new Date());

그런데 무슨 문제 가 있 을까요?일반적으로 10 이하 의 값 은 앞에서 문자열 '0' 을 추가 해 야 합 니 다. 우 리 는 판단 을 써 서 그 를 해결 할 수 있 지만 너무 번 거 롭 습 니 다 ~
사실 이렇게 할 수 있어 요.
1
2
3
4
5
6
7
8
var format = function (time) { 
var date = new Date(+time + 8 * 3600 * 1000);
return date.toJSON().substr(0, 19).replace('T', ' ').replace(/-/g, '.');
}
var time1 = format(new Date());

//Date ‘toJSON’ JSON , 8 , ‘T’ , , 。
// , +Date Number(Date)

그 달의 마지막 날 수령
한 달 에 28 / 29 / 30 / 31 일이 있 을 수 있 으 며, 죽은 데 이 터 를 쓰 는 방식 으로 윤년 과 크 고 작은 달 을 해결 하 는 것 은 분명 비 과학적 이다.
1
2
3
4
5
6
7
8
function getLastDayOfMonth (time) {
var month = time.getMonth();
time.setMonth(month+1);
time.setDate(0);
return time.getDate()
}
getLastDayOfMonth(new Date())
// ,

이번 분기 첫날 획득
현재 분기 의 시작 시간 을 확정 하 는 데 사용 되 며, 보고서 에 자주 사용 된다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function getFirstDayOfSeason (time) {
var month = time.getMonth();
if(month <3 ){
time.setMonth(0);
}else if(2 < month && month < 6){
time.setMonth(3);
}else if(5 < month && month < 9){
time.setMonth(6);
}else if(8 < month && month < 11){
date.setMonth(9);
}
time.setDate(1);
return time;
}
getFirstDayOfSeason(new Date())
// ,

중국어 요일 가 져 오기
이것 도 비교적 흔히 볼 수 있 는 눈 덩이 이다. 긴 스 위칭 을 쓸 필요 가 전혀 없다. 직접 charAt 으로 해결 하 자.
1
let time ="       ".charAt(new Date().getDay());

오늘 을 얻 은 것 은 그 해 의 며칠 째 이다.
올해 자신 이 얼마나 많은 시간 을 낭 비 했 는 지 보 자 ~
1
2
3
4
var time1 = Math.ceil(( new Date() - new Date(new Date().getFullYear().toString()))/(24*60*60*1000));

// new Date() new Date(2019) 0 8
//Tue Jan 01 2019 08:00:00 GMT+0800 ( )

오늘 을 얻 는 것 은 그 해 의 몇 주 째 이다.
달력
1
2
3
var week = Math.ceil(((new Date() - new Date(new Date().getFullYear().toString()))/(24*60*60*1000))/7);

// 7,

 
획득 오늘 은 그 해 입 니 다. 며칠 남 았 습 니까?
올 해 는 얼마나 남 았 는 지 보 자 ~
1
2
3
4
5
6
7
8
9
function restOfYear(time) {
var nextyear = (time.getFullYear() + 1).toString();
var lastday = new Date(new Date(nextyear)-1); // :
console.log(lastday)
var diff = lastday - time; //
return Math.floor(diff / (1000 * 60 * 60 * 24));
}
restOfYear(new Data())
// , 1 。 Math.ceil, Math.floor。

두 시간의 간격 을 계산 하 다
카운트다운, 유효기간 등 용도 로 확장 할 수 있다.
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
function diffTime(startDate,endDate,location) {
var diff=new Date(endDate).getTime() - startDate;//

//
var days=Math.floor(diff/(24*3600*1000));

//
var leave1=diff%(24*3600*1000); //
var hours=Math.floor(leave1/(3600*1000));

//
var leave2=leave1%(3600*1000); //
var minutes=Math.floor(leave2/(60*1000));

//
var leave3=leave2%(60*1000); //
var seconds=Math.round(leave3/1000);
if(location === "Day") {
return returnStr = " " + days + " ";
}else if(location === "Hours") {
return returnStr = " " + (hours+days*24) + " ";
}else if(location === "Minutes") {
return returnStr = " " + (minutes+(hours+days*24)*60) + " ";
}else if(location === "Seconds") {
return returnStr = " " + (seconds+(minutes+(hours+days*24)*60)*60) + " ";
}else{
return returnStr = " " + days + " " + hours + " " + minutes + " " + seconds + " ";
}
}
console.log(diffTime(new Date(), '2019-8-19 16:00:00','Minutes'))
// , 。

지정 한 시간 간격 전후의 날 짜 를 계산 하 다.
시간 트 레이스, 이벤트 예고 등 용도 로 사용 가능
1
2
3
4
5
6
function GetDate(time,count) {   
time.setDate(time.getDate() + count);// N
var date = new Date(+time + 8 * 3600 * 1000);
return date.toJSON().substr(0, 19).replace('T', ' ').replace(/-/g, '.');
}
GetDate(new Date(),100)

주 시작 과 종료 시간 을 계산 하 다.
흔히 볼 수 있 는 수요 로 출석 체크 등 으로 사용 할 수 있다.
1
2
3
4
5
6
7
8
9
10
11
12
13
function getwholetWeek(now){
var weekday = now.getDay(); // ( :0)
weekday = weekday === 0 ? 7 : weekday;
var firstDay = GetDate(now,-weekday); //
var lastDay = GetDate(now,7 - 1); //
return {
firstDay: firstDay,
lastDay: lastDay
};
}

console.log(getwholetWeek(new Date()))
// , , ,

 스튜디오

좋은 웹페이지 즐겨찾기