从给定的开始日期获取结束日期基数

Posted

技术标签:

【中文标题】从给定的开始日期获取结束日期基数【英文标题】:get the end date base from the given start date 【发布时间】:2016-01-13 15:36:24 【问题描述】:

我正在使用moment js,我想要的是从一年内指定的开始月份、日期和年份获取计算出的月份、年份和日期,例如如果 2015 年 1 月 1 日是开始日期,那么应该是 2015 年 12 月 31 日,有什么想法、线索、建议,该怎么做?

下面是 2 个输入字段,其标识 id 为“开始日期”和“结束日期”

<input type="text" id="startdate" value="Jan 1, 2015" />
<input type="text" id="enddate" />

因此,如果用户从 id 为“startdate”的输入字段中选择日期选择器,那么(假设我使用输出格式为 MMM、DD、YYYY 的日期选择器)输入字段的 id 为“enddate”应该包含结束日期(月、日、年),以开始日期在当年的开始日期为基准(假设 2015 年 1 月 1 日,那么结束日期是 2015 年 12 月 31 日)。

$(document).ready(function()
    $("#startdate").change(function()
        $("#enddate").val();
    );
);

【问题讨论】:

【参考方案1】:

您可以尝试像这样使用endof:

var endDate = moment(startDate).endOf('year');

但是,如果您希望将开始日期增加 1 年,那么您可以试试这个:

var endDate = moment(startdate, "DD-MM-YYYY").add('days', 365).format("DD/MM/YYYY");

【讨论】:

给定年份的基数如何?比如如果二月,那么结束年份应该是下一年的一月,因为计算是一年。 @CodeDemon:- 我想我错过了什么?你想得到1年后的一个月吗?我的意思是 2014 年 2 月 1 日的结束日期应该是 2016 年 1 月 31 日?或者你想在当前日期上增加 1 年? 没有。我想在给定开始日期的 12 个月内获取月、日、年,例如如果给出日期是 2015 年 1 月 1 日,那么结束日期是 2015 年 12 月 31 日 @CodeDemon:- 2014 年 2 月 1 日的结束日期是什么? 2014 年 2 月 1 日的结束日期是 2015 年 1 月,因为它将在开始日期后的 12 个月内计算。

以上是关于从给定的开始日期获取结束日期基数的主要内容,如果未能解决你的问题,请参考以下文章

Python2:检索给定日期范围的星期日 - 星期六周开始/结束日期

使用 javascript 从 cron 格式获取日期时间

获取任何时区的 DST 开始和结束日期

如何从单个日期列-oracle 获取开始/结束日期

如何获取当前月份的开始日期和结束日期

如何通过在 SQL Server 中选择周数来获取开始日期和结束日期