자바스크립트에서 날짜에서 분을 빼려면 어떻게 해야 합니까?
이 의사 코드를 작동하는 JS로 변환하려면 어떻게 해야 하나요? [유효한 자바스크립트 날짜를 제외하고는 종료 날짜가 어디에서 왔는지에 대해 걱정하지 마십시오.
var myEndDateTime = somedate; //somedate is a valid JS date
var durationInMinutes = 100; //this can be any number of minutes from 1-7200 (5 days)
//this is the calculation I don't know how to do
var myStartDate = somedate - durationInMinutes;
alert("The event will start on " + myStartDate.toDateString() + " at " + myStartDate.toTimeString());
이 사실을 알게 되면:
- 를 생성할 수 있습니다.
Date
1970년 1월 1일부터 밀리초 단위로 건설자를 호출함으로써. - 그
valueOf()
aDate
는 1970년 1월 1일 이후 밀리초입니다. - 있다
60,000
밀리초 인 분 :-]
아래 코드에서, 새로운.Date
에서 적절한 밀리초 수를 빼서 생성됩니다.myEndDateTime
:
var MS_PER_MINUTE = 60000;
var myStartDate = new Date(myEndDateTime - durationInMinutes * MS_PER_MINUTE);
get 및 set 분을 사용하여 다음을 달성할 수도 있습니다.
var endDate = somedate;
var startdate = new Date(endDate);
var durationInMinutes = 20;
startdate.setMinutes(endDate.getMinutes() - durationInMinutes);
그냥 똑딱이에요.
틱은 1970년 1월 1일 0:0:0 UTC 이후 밀리초를 의미합니다.날짜 생성자는 숫자를 단일 인수로 받아들일 수 있으며, 이 인수는 틱으로 해석됩니다.
milliseconds/seconds/hours/days/weeks(정적 수량)로 작업할 때는 다음과 같은 작업을 수행할 수 있습니다.
const aMinuteAgo = new Date( Date.now() - 1000 * 60 );
아니면
const aMinuteLess = new Date( someDate.getTime() - 1000 * 60 );
그런 다음 자바스크립트에 날짜를 표시하고 요일이나 월과 연도 등에 대해 걱정하게 합니다.현지화를 선택할 수도 있고, Intl과 함께 네이티브로 국제화할 수도 있습니다.
위에서 언급한 것보다 더 복잡한 작업을 할 때 임의의 시간대나 윤년 또는 월일 등이 필요할 때 자바스크립트 관련 프로젝트에 luxon을 사용하는 것을 추천합니다.
moment.js는 날짜 객체를 조작할 수 있는 정말 좋은 편의 방법들을 가지고 있습니다.
.subtract 메서드는 양과 시간 단위 문자열을 제공하여 날짜에서 일정 시간 단위를 뺄 수 있습니다.
var now = new Date();
// Sun Jan 22 2017 17:12:18 GMT+0200 ...
var olderDate = moment(now).subtract(3, 'minutes').toDate();
// Sun Jan 22 2017 17:09:18 GMT+0200 ...
Luxon은 자체적으로 조작할 수 있는 API도 가지고 있습니다.DateTime
물건
var dt = DateTime.now();
// "1982-05-25T00:00:00.000Z"
dt.minus({ minutes: 3 });
dt.toISO();
// "1982-05-24T23:57:00.000Z"
이것이 제가 발견한 것입니다.
//First, start with a particular time
var date = new Date();
//Add two hours
var dd = date.setHours(date.getHours() + 2);
//Go back 3 days
var dd = date.setDate(date.getDate() - 3);
//One minute ago...
var dd = date.setMinutes(date.getMinutes() - 1);
//Display the date:
var monthNames = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
var date = new Date(dd);
var day = date.getDate();
var monthIndex = date.getMonth();
var year = date.getFullYear();
var displayDate = monthNames[monthIndex] + ' ' + day + ', ' + year;
alert('Date is now: ' + displayDate);
출처:
https://stackoverflow.com/a/12798270/1873386
var date=new Date();
//here I am using "-30" to subtract 30 minutes from the current time.
var minute=date.setMinutes(date.getMinutes()-30);
console.log(minute) //it will print the time and date according to the above condition in Unix-timestamp format.
당신은 유닉스 타임스탬프를 사용하여 전통적인 시간으로 변환할 수 있습니다.new Date()
.예를들면
var extract=new Date(minute)
console.log(minute)//this will print the time in the readable format.
다음과 같이 시도해 보십시오.
var dt = new Date();
dt.setMinutes( dt.getMinutes() - 20 );
console.log('#####',dt);
이것이 제가 한 일입니다: Codepen에서 보세요.
var somedate = 1473888180593;
var myStartDate;
//var myStartDate = somedate - durationInMuntes;
myStartDate = new Date(dateAfterSubtracted('minutes', 100));
alert("The event will start on " + myStartDate.toDateString() + " at " + myStartDate.toTimeString());
function dateAfterSubtracted(range, amount){
var now = new Date();
if(range === 'years'){
return now.setDate(now.getYear() - amount);
}
if(range === 'months'){
return now.setDate(now.getMonth() - amount);
}
if(range === 'days'){
return now.setDate(now.getDate() - amount);
}
if(range === 'hours'){
return now.setDate(now.getHours() - amount);
}
if(range === 'minutes'){
return now.setDate(now.getMinutes() - amount);
}
else {
return null;
}
}
이 함수로 날짜 클래스 확장
// Add (or substract if value is negative) the value, expresed in timeUnit
// to the date and return the new date.
Date.dateAdd = function(currentDate, value, timeUnit) {
timeUnit = timeUnit.toLowerCase();
var multiplyBy = { w:604800000,
d:86400000,
h:3600000,
m:60000,
s:1000 };
var updatedDate = new Date(currentDate.getTime() + multiplyBy[timeUnit] * value);
return updatedDate;
};
몇 분, 몇 초, 몇 시간, 몇 일을 더하거나 뺄 수 있습니다.어느 때나
add_10_minutes_to_current_date = Date.dateAdd( Date(), 10, "m");
subs_1_hour_to_a_date = Date.dateAdd( date_value, -1, "h");
언급URL : https://stackoverflow.com/questions/674721/how-do-i-subtract-minutes-from-a-date-in-javascript
'programing' 카테고리의 다른 글
새 리눅스 커널 스케줄러를 만드는 방법 (0) | 2023.09.16 |
---|---|
리프 서명을 확인할 수 없습니다. (0) | 2023.09.16 |
STATION에서 모음(즉, a, e, i, o 또는 u)으로 시작하는 CITY 이름 목록 쿼리 (0) | 2023.09.16 |
왜 일부 컴파일러는 실행 파일의 기본 이름으로 "a.out"을 사용합니까? (0) | 2023.09.16 |
package-lock.json의 취약한 npm 패키지를 package.json에 나열되지 않은 package-lock.json에서 수정하려면 어떻게 해야 합니까? (0) | 2023.09.16 |