为什么javascript getTime()不是一个函数? [英] Why javascript getTime() is not a function?

查看:375
本文介绍了为什么javascript getTime()不是一个函数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用以下函数

function datediff()
{
 var dat1 = document.getElementById('date1').value;
 alert(dat1);//i get 2010-04-01
var dat2 = document.getElementById('date2').value;
 alert(dat2);// i get 2010-04-13

var oneDay = 24*60*60*1000; // hours*minutes*seconds*milliseconds
var diffDays = Math.abs((dat1.getTime() - dat2.getTime())/(oneDay));
alert(diffDays);
}

我收到错误 dat1.getTime() / code>不是一个函数....

i get the error dat1.getTime() is not a function....

推荐答案

这是因为你的 dat1 dat2 变量只是字符串。

That's because your dat1 and dat2 variables are just strings.

您应该解析它们以获取日期对象,对于该格式,我总是使用以下函数:

You should parse them to get a Date object, for that format I always use the following function:

// parse a date in yyyy-mm-dd format
function parseDate(input) {
  var parts = input.match(/(\d+)/g);
  // new Date(year, month [, date [, hours[, minutes[, seconds[, ms]]]]])
  return new Date(parts[0], parts[1]-1, parts[2]); // months are 0-based
}

我使用这个功能是因为 Date.parse(string) (或 new Date(string))方法是实现依赖,以及 yyyy-MM-dd 格式将在IE上使用现代浏览器,但不是,所以我更喜欢手动进行。

I use this function because the Date.parse(string) (or new Date(string)) method is implementation dependent, and the yyyy-MM-dd format will work on modern browser but not on IE, so I prefer doing it manually.

这篇关于为什么javascript getTime()不是一个函数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆