Я знаю, что мы можем получить название дня в неделе, используя такой код

var d = new Date();
var days = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];
console.log(days[d.getDay()]);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

Но мне нужно получить название дня из 3 случайных чисел в текущем месяце

 var arr = []
 while(arr.length < 3){
   var randomnumber=Math.ceil(Math.random()*30)
   var found=false;
   for(var i=0;i<arr.length;i++){
    if(arr[i]==randomnumber){found=true;break}
  }
   if(!found)arr[arr.length]=randomnumber;
 }

Можете ли вы дать мне знать, как это сделать в JS?

1
Behseini 19 Дек 2015 в 10:56

3 ответа

Лучший ответ

Все, что вам нужно сделать, это сгенерировать дату, а затем использовать .getDay(), чтобы получить день в диапазоне от 0 до 6, то есть от Sun to Sat.

function returnDay(d, m, y){
    var year = y | 2015; // Making y an optional param.
    var d = new Date(m+"/"+d+"/"+y); // Pass inside any date if you have.
    var days = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];
    return days[d.getDay()];
}

Теперь все, что вам нужно сделать, это

returnDay(16, 12, 2015); // Will return the day of 12/16/2015 (mm-dd-yy)

Вы можете передать случайную дату / месяц / год, а также

3
void 19 Дек 2015 в 09:10

Ты должен сделать как

var d = new Date(),
    n = d.getMonth(),
    y = d.getFullYear();

var days = ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];
//Create new date from your No and Current Month+Year
var newDate = new Date("YourRandNo" + n + y);    
console.log(days[newDate.getDay();]);

Ex . Если Rand No - 21, тогда новая дата - "21-12-2015", и вы можете найти день от даты.

0
Parth Trivedi 19 Дек 2015 в 08:28

Если требуется только найти название дня (на английском языке) для любого дня текущего месяца, то это можно сделать одной строкой кода:

 function getDay( day ) {
      return new Date((new Date()).setDate(day)).toDateString().split(' ').shift();
 }  

 // Test - DEC 2015 returns Tues, Mon, Thu, Fri
 console.info( getDay( 1 ));   
 console.info( getDay( 14 ));  
 console.info( getDay( 24 ));   
 console.info( getDay( 32 ));
1
Roberto 19 Дек 2015 в 09:07