반응형
두 날짜 내에서 임의의 날짜 배열을 생성하는 우아한 방법
2 개월을 표시하는 날짜 선택기가 있고 보이는 각 월에서 3 개의 날짜를 무작위로 선택하고 싶습니다.
$('.date').datepicker({
minDate: new Date(),
dateFormat: 'DD, MM, d, yy',
constrainInput: true,
beforeShowDay: processDates,
numberOfMonths: 2,
showButtonPanel: true,
showOn: "button",
buttonImage: "images/calendar_icon.jpg",
buttonImageOnly: true
});
여기 내 계산이 있습니다.
var now = new Date();
var nowTime = parseInt(now.getTime()/1000);
var randomDateSet = {};
function getRandomSet(y,m) {
var monthIndex = "m"+y+""+m; // m20121 for Jan
if (randomDateSet[monthIndex]) return randomDateSet[monthIndex];
// generate here
.
. - I need this part
.
return randomDateSet[monthIndex];
}
function processDay(date) { // this is calculated for each day so we need a singleton for the array
var dateTime = parseInt(date.getTime()/1000);
if (dateTime <= (nowTime-86400)) {
return [false]; // earlier than today
}
var m = date.getMonth(), d = date.getDate(), y = date.getFullYear();
var randomDates = getRandomSet(y,m);
for (i = 0; i < randomDates.length; i++) {
if($.inArray((m+1) + '-' + d + '-' + y,randomDates) != -1 || new Date() > date) {
return [true,"highlight","Some message"];
}
}
return [true,"normal"]; // ordinary day
}
내가 뭔가를 놓치고 있을지도 모르지만, 그렇지 않습니까?
function randomDate(start, end) {
return new Date(start.getTime() + Math.random() * (end.getTime() - start.getTime()));
}
randomDate(new Date(2012, 0, 1), new Date())
new Date(+(new Date()) - Math.floor(Math.random()*10000000000))
경계 날짜를 정수 ( Date.getTime()
) 로 변환 한 다음을 사용 Math.random()
하여 주어진 경계 내에서 임의의 날짜를 생성 할 수 있습니다. 그런 다음에 다시 갈 Date
와 객체 Date.setTime()
.
Moment.js && @Demven Weir의 대답을 사용하여 "03/02/1975"와 같은 문자열 값을 얻습니다.
moment(new Date(+(new Date()) - Math.floor(Math.random()*10000000000)))
.format('MM/DD/YYYY');
참고 : 생산 기간을 늘리려면 한 번에 0을 계속 추가하십시오.
반응형
'Programing' 카테고리의 다른 글
Ruby에서 배열에서 해시를 만들려면 어떻게해야합니까? (0) | 2020.10.31 |
---|---|
Rails 3-페이지 제목을 설정하는 이상적인 방법 (0) | 2020.10.31 |
키를 길게 누르고 VSCode에서 반복하려면 어떻게해야합니까? (0) | 2020.10.31 |
JavaScript 함수를 호출하는 도구 모음에 사용자 지정 단추를 추가하는 방법은 무엇입니까? (0) | 2020.10.31 |
didSelectRowAtIndexPath가 잘못된 IndexPath를 반환합니다. (0) | 2020.10.31 |