文档章节

向JavaScript Date对象添加小时?

 技术盛宴
发布于 02/27 17:26
字数 355
阅读 75
收藏 0

令我惊讶的是,JavaScript的Date对象没有实现任何类型的add函数。

我只是想要一个可以做到这一点的函数:

var now = Date.now();
var fourHoursLater = now.addHours(4);

function Date.prototype.addHours(h) {

   // how do I implement this?  

}

我只是想在一个方向的一些指针。

  • 我需要进行字符串解析吗?

  • 我可以使用setTime吗?

  • 毫秒呢?

像这样:

new Date(milliseconds + 4*3600*1000 /*4 hrs in ms*/)?  

不过,这似乎确实很骇人-甚至行得通吗?


#1楼

Datejs库中有一个添加

这是JavaScript date方法 。 肯纳贝克明智地提到了getHours()和setHours();


#2楼

JavaScript本身具有可怕的日期/时间API。 但是,您可以使用纯JavaScript来执行此操作:

Date.prototype.addHours = function(h) {
  this.setTime(this.getTime() + (h*60*60*1000));
  return this;
}

#3楼

Date.prototype.addHours= function(h){
    this.setHours(this.getHours()+h);
    return this;
}

测试:

alert(new Date().addHours(4));

#4楼

当更改为DST或从DST更改时,kennerbec建议的版本将失败,因为它是设置的小时数。

this.setUTCHours(this.getUTCHours()+h);

将增加h小时, this独立的实时系统特殊性。 杰森·哈维格(Jason Harwig)的方法同样有效。


#5楼

您可以使用momentjs http://momentjs.com/库。

var moment = require('moment');
foo = new moment(something).add(10, 'm').toDate();

本文转载自:https://stackoom.com/question/4PL6/向JavaScript-Date对象添加小时

粉丝 0
博文 1610
码字总数 0
作品 0
深圳
高级程序员
私信 提问
加载中

评论(0)

一篇文章吃透iOS、JS的时间日期(Date, Calendar, Locale, TimeZone)

iOS 时间相关类 NSDate - 表示一个绝对的时间点。 NSCalendar - 代表一个特定的日历,例如公历或者希伯来日历。它提供了一系列基于日期的计算,并且可以让你在"NSDate"和"NSDateComponents"对...

奶爸码农
2018/05/09
0
0
JAVASCRIPT 日期权威指南

原文地址:THE DEFINITIVE GUIDE TO JAVASCRIPT DATES 原文作者:flaviocopes.com 译文出自:掘金翻译计划 本文永久链接:github.com/xitu/gold-m… 译者:CoderMing 校对者:IridescentMia...

CoderMing
2018/09/14
0
0
JS Date 自定义格式化方法

JS Date 自定义格式化方法 Date 时间对象 快速 自定义格式化 定义方法 使用 结果

DrChenXX
2019/06/20
102
0
JavaScript 基础--- (对象)

1、js的String对象 创建String对象 var str = "abc"; 方法和属性(文档) ** 属性 length:字符串的长度 *** 方法 (1)与html相关的方法 - bold():加粗 - fontcolor(): 设置字符串的颜色 ...

姜白告
2018/07/30
0
0
JavaScript Date对象和函数 (一)

JavaScript_Date对象说明 Date中文为"日期"的意思,Date继承自Object对象,此对象提供操作,显示日期与时间的函数 Date对象构造函数 Date对象具有多种构造函数。 new Date()new Date(millise...

天马3798
2019/07/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

略谈分布式系统中的容器设计模式

本文作者:zytan_cocoa 略谈分布式系统中的容器设计模式 谭中意 2020/3/5 前言:云原生(Cloud Native)不仅仅是趋势,更是现在进行时,它是构建现代的,可弹性伸缩的,快速迭代的计算网络服...

百度开发者中心
03/11
13
0
OSChina 周三乱弹 —— 小姐姐的领带有点带歪了,请帮忙正一下

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 @薛定谔的兄弟 :分享洛神有语创建的歌单「我喜欢的音乐」: 《アイタクテ -voice & piano-》- 和紗 手机党少年们想听歌,请使劲儿戳(这里) ...

小小编辑
今天
21
0
对象名称前的单下划线和双下划线是什么意思?

问题: Can someone please explain the exact meaning of having leading underscores before an object's name in Python? 有人可以解释一下在Python中对象名称前加下划线的确切含义吗? ......

技术盛宴
今天
29
0
Redis命令行参数大全

[TOC] Redis命令行参数大全 CLI工具的类型 可执行文件 作用 redis-server Redis Srver相关 redis-cli Redis命令行工具 redis-benchmark 基准测试工具 redis-check-aof AOF持久化文件检测工具...

我爱吃炒鸡
今天
20
0
RHEL8和CentOS8怎么重启网络

RHEL8和CentOS8怎么重启网络 本文主要讲解如何重启RHEL 8或者CentOS 8网络以及如何解决RHEL8和CentOS8系统的网络管理服务报错,当我们安装好RHEL 8或者 CentOS 8,重启启动网络时,会出现以下...

独钓渔
今天
42
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部