javascript - 使用 JavaScript 从 Date 对象或日期字符串中获取工作日

标签 javascript string function date dayofweek

我有一个 (yyyy-mm-dd) 格式的日期字符串,如何从中获取工作日名称?

示例:

  • 对于字符串“2013-07-31”,输出将是“Wednesday”
  • 对于使用 new Date() 的今天日期,输出将基于当前星期几

最佳答案

使用这个函数,自带日期字符串验证:

如果您在项目的某处包含此功能,

// Accepts a Date object or date string that is recognized by the Date.parse() method
function getDayOfWeek(date) {
  const dayOfWeek = new Date(date).getDay();    
  return isNaN(dayOfWeek) ? null : 
    ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'][dayOfWeek];
}

您将能够像这样在任何地方轻松使用它:

getDayOfWeek( "2013-07-31" )
> "Wednesday"

getDayOfWeek( new Date() ) // or
getDayOfWeek( Date.now() )
> // (will return today's day. See demo jsfiddle below...)

如果使用无效的日期字符串,将返回 null。

getDayOfWeek( "~invalid string~" );
> null

有效的日期字符串基于 Date.parse() method as described in the MDN JavaScript reference .

演示: http://jsfiddle.net/samliew/fo1nnsgp/


当然你也可以使用moment.js插件,特别是如果需要时区。

关于javascript - 使用 JavaScript 从 Date 对象或日期字符串中获取工作日,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17964170/

相关文章:

javascript - 检测字符串是否与格式说明符字符串匹配

eclipse - 如何运行 PostgreSQL 函数

javascript - 什么 $('.element' );返回?

javascript - mat-datepicker 使应用程序崩溃而不记录错误

java - 如何解析具有以这种方式编写的 unicode 字符的字符串 :\u003C,\u0022

r - R中的函数 "else"

c++ - 如果输入是:y=1(x^3)+0.05(x^2)-2(x^1)-1 如何从这个 std::string 中获取数字?

javascript - Pentaho数据集成: How to load and call method of external library JS at Pentaho(using in Modified Java Script Value Step)?

javascript - 如何通过对象构造url参数

javascript - 使用 jQuery 时如何为占位符设置 onblur 和 onfocus 字符串