使用提示中的答案进行计算

时间:2011-08-10 08:49:34

标签: javascript

JavaScript的新手。

我想通过提示/警告向用户询问他们的出生日期,然后显然从今天的日期减去他们的出生日期来计算一个人活了多少天。

我已经开始了......

var month=prompt("Please enter month of birth"," "); 
var day=prompt("Please enter day of birth"," "); 
var year=prompt("Please enter your year of birth"," ");

var curdate = this is the bit i need help with 
var birth = this is the bit i need help with

var milliDay = 1000 * 60 * 60 * 24; // a day in milliseconds;

var ageInDays = (curdate - birth) / milliDay;

document.write("You have been alive for: " + ageInDays);

非常感谢任何建议或帮助。

4 个答案:

答案 0 :(得分:2)

您需要使用Date object (MDN)。它们可以创建一个月,一天和一年,并加/减。

通常:

var curDate = new Date();
var birth = new Date(year, month, day);

var ageInDays = (curdate.getTime() - birth.getTime()) / milliDay;

请注意月份从0开始,例如1月是0。

答案 1 :(得分:2)

var curDate = new Date();

为您提供当前日期。

var birthdate = new Date(year, month-1, day);

从单独的变量中提供日期。注意,这个月是从零开始的。

答案 2 :(得分:1)

end = Date.now(); // Get current time in milliseconds from 1 Jan 1970
var date = 20; //Date you got from the user
var month = 8-1; // Month, subtracted by one because month starts from 0 according to JS
var year = 1996; // Year
//Set date to the old time
obj = new Date();
obj.setDate(date);
obj.setMonth(month);
obj.setYear(year);
obj = obj.getTime(); //Get old time in milliseconds from Jan 1 1970
document.write((end-obj)/(1000*60*60*24));

简单地从1970年1月1日起减去1970年1月1日出生日期的毫秒数,以毫秒为单位。然后将其转换为天。查看MDN's Docs了解更多信息。

有关工作示例,请参阅JSFiddle。尝试输入昨天的日期。它应该显示1天。

答案 3 :(得分:0)

阅读其中一些内容:http://www.w3schools.com/js/js_obj_date.asp