2009-07-23 11 views

Respuesta

51
new Date().getDay(); //0=Sun, 1=Mon, ..., 6=Sat 

Ver también: Javascript Date Object el MDN.

Palabra de precaución: Esto devuelve el día de la semana en el navegador. Debido a que la tierra no es plana, el día de la semana para algunos usuarios puede ser diferente del día de la semana para su servidor. Esto puede o no puede ser relevante para su proyecto ...

Si usted está haciendo un montón de trabajo la fecha, es posible que desee ver en las bibliotecas de las fechas de JavaScript como Datejs o Moment.js

+1

muchas gracias! :) – Jason

+0

La página "Javascript Date Object" en MDN incluye compatibilidad con el navegador (que en este caso es excelente). https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date –

8
today = new Date() 
dayIndex = today.getDay() 

... obtendrá una representación numérica de "hoy".

0 = Sunday 
1 = Monday 
2 = Tuesday 
3 = Wednesday 
4 = Thursday 
5 = Friday 
6 = Saturday 
+0

¿cuál es el domingo? :) – Jason

+0

Zero is Sunday :) Porque es un idioma de EE. UU. En Europa, tendría más sentido tener el lunes como cero, pero ese no es el caso aquí. –

2

Si necesita una gran cantidad de manejo de fechas, echar un vistazo a DateJS.

19

Si sólo necesita esta vez en la página, que sea sencillo ...

["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"][(new Date()).getDay()] 

No pensé que sería tan grande a un acuerdo para extender, pero ya que tengo 3 votos para la internacionalización en los comentarios ...

// dictionary version 
({ 
    es: ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado"], 
    en: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"] 
})['en'][(new Date()).getDay()] 
// returns Wednesday 

// list version 
langs=['en','es'] 

[ 
    ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado"], 
    ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"] 
][langs.indexOf('es')][(new Date()).getDay()] 
// returns Miércoles 

Y, por último, la versión del código de golf ...

["Sun","Mon","Tues","Wednes","Thurs","Fri","Satur"][(new Date()).getDay()]+"day" 
+0

Esta misma cadena se puede colocar en una plantilla de subrayado, sin la nueva parte Date(), para formatear convenientemente los objetos Date. _.template ( '<% = getMonth() + 1%>. <% = getDate()%>. <% = getFullYear()%><% = ["Sunday", "Monday", "Tuesday", "Miércoles", "Jueves", "Viernes", "Sábado"] [getDay()]%> ', someDateObject ) – grantwparks

+0

nice! gracias por contribuir –

+1

'[" Dom "," lunes "," martes "," miércoles "," jueves "," viernes "," sábados "] [(nueva fecha()). GetDay()] +" día "' Desde todos 7 picaduras terminan con las mismas 3 letras, puedes extraerlas en lugar de repetirlas. –

6

a una clara nd respuesta más detallada:

var days = [ 
    'SUN', //Sunday starts at 0 
    'MON', 
    'TUE', 
    'WED', 
    'THU', 
    'FRI', 
    'SAT' 
]; 

d = new Date(); //This returns Wed Apr 02 2014 17:28:55 GMT+0800 (Malay Peninsula Standard Time) 
x = d.getDay(); //This returns a number, starting with 0 for Sunday 

alert (days[x]); 

Trabajo fiddle.

0

fecha de envío y obtendrá la posición del mismo día de ese mes. es decir, 15/02/2018 es el tercer jueves.

/*return day postion and dayname */ 
    function weekAndDay(date) { 
     var arrayWeek =[]; 
     var date = new Date(date), 
     days = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'], 
     prefixes = ['','First', 'Second', 'Third', 'Fourth', 'Fifth']; 
     if (date.getDate() % 7 == 0) { 
      var prefixes2 = date.getDate()/7; 
     }else{ 
      var prefixes2 = Math.ceil(date.getDate()/7); 
     } 
     arrayWeek.push({ 
      'dayPos' : prefixes[prefixes2] , 
      'dayName' : days[date.getDay()] 
     }); 
     return arrayWeek; 
    } 
+0

¿Puede agregar alguna explicación a su respuesta? Solo mostrar código puede ser confuso. –

Cuestiones relacionadas