JavaScript怎么获取当前时间+一个固定时间

Grocker
  • 2.2k

JavaScript怎么获取当前时间+一个固定时间, 格式如:2016-11-25 09:00 其中09:00是固定时间

回复
阅读 7.1k
8 个回答
✓ 已被采纳

建议用moment,原生Date有很多兼容性问题,在safair firefox ie chrome 都有很多不一致。

使用方法:
moment().set('hour', 9).set('minute', 0).format('YYYY-MM-DD HH:mm')

具体见 http://momentjs.com/docs/#/ge...

var now = new Date();
now = now.toLocaleDateString(); //获取到如2016/11/24这样的字符串
now = now.replace(///g,"-"); // /换成-

最后再加上你要的固定的09:00就好了?

。。时间和 jquery 有什么关系? jquery 只是方便操作 DOM 的一个库而已。时间相关的操作是 Date 对象
为了方便处理时间,可使用库 moment.js,具体用法看文档,都是中文。


别问 jquery 怎么获取 xxx

表示看不懂题目...

是想

let d = new Date('2016.11.25')

这样吗?

获取当前时间 不需要jquery: new Date()得到Date时间对象,具体到要小时之类的可以用

(new Date()).getHours();

我看不大懂题主的表达,如果是给定一个时间格式字符串然后得到固定小时之类的:

可以有两种:

  1. 正规方式:

var str = "2016-11-25 09:00";//建议 2016/11/25 更佳,考虑浏览器兼容性
var time = new Date(str);
//得到固定时间:
var res = ''+(time.getHours()>9?time.getHours():'0'+time.getHours()) + (time.getMinutes()>9?time.getMinutes():'0'+time.getMinutes());
  1. 投机取巧:

var str = "2016-11-25 09:00";
var res = str.split(' ')[1];

vanilla的话这样做

var d = new Date();//当前时间
d.setHours(9);//小时设置为9,下略
d.setMinutes(0);
d.setSeconds(0);
d.setMilliseconds(0);

找到答案了:


function getNextTime() {
    var str = (new Date().getTime()) + 24*60*60*1000;
    var date = new Date(str);
    var year = date.getFullYear();
    var month = date.getMonth()+1;
    var day = date.getDate();
    var hour = '09';
    var minute = '00';
    return year+"-"+((month < 10)?'0'+month:month)+"-"+((day < 10)?'0'+day:day)+' '+hour+':'+minute;
}

楼上的获取时间方法就不赘述了,然后楼主你是想要2016-11-24 + 9:00?后面这个9:00是一个常量或者是一个自定义的变量?var time=9:00;var str = (new Date().getTime()) + time;?没明白你的想法

宣传栏