이 의사 코드를 작동하는 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 - durationInMuntes;
alert("The event will start on " + myStartDate.toDateString() + " at " + myStartDate.toTimeString());
답변
이 사실을 알게되면 :
- 1970 년 1 월 1 일 이후 밀리 초로 생성자 를
Date
호출하여을 만들 수 있습니다 . valueOf()
a는Date
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);
답변
모든 것이 진드기 일 뿐이며 방법을 암기 할 필요가 없습니다 …
var aMinuteAgo = new Date( Date.now() - 1000 * 60 );
또는
var aMinuteLess = new Date( someDate.getTime() - 1000 * 60 );
최신 정보
momentjs로 작업 한 후에는 이것이 체크 아웃 해야하는 놀라운 라이브러리라고 말해야합니다. 많은 경우에 진드기가 작동하여 코드를 매우 작게 만드는 것이 사실이므로 가능한 한 작게 코드를 작게 만들어야합니다. 그러나 복잡한 작업에는 momentjs를 사용하십시오.
답변
moment.js 에는 날짜 객체를 조작하는 편리한 방법이 있습니다.
.subtract 방법은, 당신은 금액과 TIMEUNIT 문자열을 제공하여 날짜에서 시간 단위의 일정 금액을 차감 할 수 있습니다.
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 ...
답변
이것이 내가 찾은 것입니다.
//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);
출처 :
답변
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()
예를 들어 Unix 타임 스탬프를 표준 시간으로 변환 할 수 있습니다.
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);