处理js中的日期 - 必须有一个更简单的方法吗?

时间:2017-12-11 15:32:59

标签: javascript

我一直试图在过去几个小时做一些真的应该更容易的事情。 (这是我心爱的PHP中世界上最简单的东西.....但我需要它在JS中。) 我需要做的就是输出相对于当前日期的各种日期(全部在YYYY-mm-dd)....

var today = TODAY'S DATE

var明天=明天的日期

var end_of_this_week =本周最后一天(星期日)的日期

var start_of_next_week =下周第一天(星期一)的日期

var end_of_this_month =当前最后一天的日期

var start_of_next_month =下个月第一天的日期

var end_of_next_month =下个月最后一天的日期

就是这样。我知道'Datejs'套餐但是(没有冒犯)我发现它是一个大混乱。我已经倾注了这个(和其他)论坛寻找答案,虽然有一些有用的点点滴滴,但我最终得到了更多的错误(例如一年中有13个月)。我认为,如果拥有专业知识的人能够提出一个优雅的解决方案,那对很多人来说都会非常有用。

以下是可以推导出所有这些内容的基础:

    var date_default = new Date(new Date().getTime());
    var day_now = date_default.getDate();
    var month_now = date_default.getMonth()+1;
    var year_now = date_default.getFullYear();

    var today = year_now+'-'+month_now+'-'+day_now;

3 个答案:

答案 0 :(得分:1)

我发现momentJs是用于处理js中日期和时间操作的最干净的库。

例如你可以做的tomorrow

const tomorrow = moment().add(1, 'days').format('YY-MMM-dd');

文档:docs

答案 1 :(得分:0)

有可能获得你需要的值,尽管如上所述,这对于vanilla JS来说并不简单。例如,

var today = new Date();

var tomorrow = new Date(today.setDate(today.getDate()+ 1));

答案 2 :(得分:0)