javascript - 获取给定日期的星期几

标签 javascript jquery calendar dayofweek

我正在编写自己的日历插件,但我正在努力获取给定日期的星期几。

假设我有年份 - 1905 年、月份 - 4 和日期 - 23。有什么方法可以使用这些数据 - 以更好的格式(例如 YYYY/DD/MM)将其粉碎在一起并使用这是为了计算星期几 - 我希望找到一些像 PHP 中的公历方法,但我还没有找到。

抱歉,如果之前有人问过这个问题,但我只能使用新日期查找一周中今天的问题。

最佳答案

构造一个日期对象并询问它今天是星期几:

// Note months are zero indexed so May is 4, not 5
var d = new Date(1905, 4, 23).getDay(); // 2

你可以把它变成一个函数:

function getDay(y, m, d) {
  var days = ['Sunday','Monday','Tuesday',
     'Wednesday','Thursday','Friday','Saturday'];
 var d = new Date(y, --m, d);
 return d && days[d.getDay()];
}

// What day was 23 May, 1905?
console.log(getDay(1905,5,23)); // Tuesday

编辑

请注意,这些类型的函数会将两位数年份转换为 20 世纪日期,例如

var d = new Date(5, 4, 23) // 23 May, 1905

并且他们不检查这些值是否是有效日期:

var d = new Date(5, 16, 23) // 23 May, 1906

如果您不希望这样,则必须以不同的方式构造日期并检查值:

// Create a generic date object
var d = new Date();

// Set the values for 23 May, 0005
// This way doesn't convert 5 to 1905
d.setFullYear(5, 4, 23);

// Check at least 2 values in the date are the same as the input
// The easiest to check are year and date
if (d.getFullYear() == 5 && d.getDate() == 23) {  
  console.log(d + 'is a valid date!');
}

您可以根据上述内容创建一个单独的函数来创建日期,如果值无效(并且支持两位数年份),则返回日期对象或 NaN。

关于javascript - 获取给定日期的星期几,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24158092/

相关文章:

jquery - jQuery 需要优化地提供变化

java - 日历网格布局

jquery动态id选择器,删除然后添加类

javascript - 在 Three.js 中控制立方体或其他几何体的每个面

javascript - JS try/catch 生成 jshint 错误

javascript - 在用户浏览器上禁用 javascript 时如何阻止用户提交表单?

javascript - HTML5/jQuery - 页面滚动到输入值

java - Wicket 日历难以理解的行为

ios - swift 。日历。 veryShortWeekdaySymbols 从星期一开始

javascript - Socket.io,从客户端获得两个响应然后运行代码?