【问题标题】:How to add minutes and hours to a time string using jquery如何使用 jquery 将分钟和小时添加到时间字符串
【发布时间】:2017-03-21 11:34:34
【问题描述】:

我想在我已经有自己的日期的变量中添加 30 分钟和 1 小时

var initialDate = '10:00';

所以

if (some condition){
    // i add 30 minutes ->10:30
}elseif(another condition){
    // i add 1hour ->11:00
}

我试过了,但没有用

var initialDate = '10:00';
var theAdd = new Date(initialDate);
var finalDate = theAdd.setMinutes(theAdd.getMinutes() + 30);

【问题讨论】:

  • 那么你有什么尝试?检查Datedeveloper.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
  • @BastianVoigt 请尊重“友善”政策。它被否决了,因为类似于询问软件/库/等的问题,推荐它们的答案也不是很好。
  • 请看我的更新
  • 我认为如何在 Javascript 中处理日期的问题是完全有效的,因此推荐一个可以完成这项工作的库的答案也是如此。问题出在哪里?
  • @Bastian Voigt 问题是当我向finalDate 发出警报时,我有 NaN ,这就是为什么我问这个问题,我认为这不是正确的方法。

标签: javascript jquery time strtotime


【解决方案1】:

如果我理解正确,以下内容将对您有所帮助。

您需要通过 script 标签添加 momentjs 依赖,您可以在 JavaScript 中解析、验证、操作和显示日期。

您可以在 momentjs website 中找到更多相关文档

console.log(moment.utc('10:00','hh:mm').add(1,'hour').format('hh:mm'));

console.log(moment.utc('10:00','hh:mm').add(30,'minutes').format('hh:mm'));
<script src="https://momentjs.com/downloads/moment-with-locales.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

【讨论】:

  • 如果他们只需要使用几次日期,这会增加不必要的装载时间和行李;否则,这是个好主意。
【解决方案2】:

这应该可以完成工作。日期在其构造函数中需要年份和月份,如果您指定,则必须指定较大的时间单位和较小的时间单位,因此也需要一天。此外,您必须分别输入小时和分钟。见https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date

var initialDate = '10:00';
var theAdd = new Date(1900,0,1,initialDate.split(":")[0],initialDate.split(":")[1]);
if(30 min condition){
theAdd.setMinutes(theAdd.getMinutes() + 30);
} else if (1 hour condition){
theAdd.setHours(theAdd.getHours() + 1);
}
console.log(theAdd.getHours()+":"+theAdd.getMinutes());

【讨论】:

  • 您的解决方案解决了我的问题。非常感谢
【解决方案3】:
var theAdd = new Date();

// Set Hours, minutes, secons and miliseconds
theAdd.setHours(10, 00, 00, 000);

if (some condition) {
   // add 30 minutes --> 10:30
   theAdd.setMinutes(theAdd.getMinutes() + 30);
}
elseif (some condition) {
   // add 1 hour --> 11:00
   theAdd.setHours(theAdd.getHours() + 1);
}

然后你打印var theAdd来获取日期和时间。

要获得时间:

theAdd.getHours() + ":" + theAdd.getMinutes();

【讨论】:

    【解决方案4】:

    这是一个 javascript 函数,它将在 hh:mm 时间字符串中添加分钟。

    function addMinutes(timeString, addMinutes) {
    if (!timeString.match(/^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$/))
        return null;
    var timeSplit = timeString.split(':');
    var hours = parseInt(timeSplit[0]);
    var minutes = parseInt(timeSplit[1]) + parseInt(addMinutes);
    hours += Math.floor(minutes / 60);
    while (hours >= 24) {
        hours -= 24;
    }
    minutes = minutes % 60;
    return ('0' + hours).slice(-2) + ':' + ('0' +minutes).slice(-2);
    

    }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-22
      • 1970-01-01
      • 2011-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多