2013-03-10 74 views
0
var i = 20040115102010000; 

i++; 

returns 20040115102010000; 

我必须使用大号码库吗?为什么我不能在javascript中添加1个大数字

What is the standard solution in Javascript for handling big numbers (BigNum)?

这个数字已经在浮点格式和我感动的小数位的左三圈。如果你的速度很快,你会注意到它是一个日期。我会先把这个数字转换成日期格式吗?我会发现在Date()对象中以毫秒为单位增加更容易吗?

+0

我不想听起来居高临下的'如果你很快',但我确实需要指出,这确实是一个日期。 – TMB 2013-03-10 02:43:29

+3

请参阅http://stackoverflow.com/questions/307179/what-is-javascripts-max-int-whats-the-highest-integer-value-a-number-can-go-t。 – bfavaretto 2013-03-10 02:44:50

+2

http://www.thefreedictionary.com/behove – TMB 2013-03-10 02:57:53

回答

2

您不能在javascript中使用大的日期,而无需使用bigDay库来处理您的数字。

/*

从 'https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date':

自午夜01月01日的javascript日期以毫秒为单位,1970年UTC。一天持有86,400,000毫秒。相对于1970年1月1日UTC,JavaScript Date对象范围为-100,000,000天至100,000,000天。 */

var firstday=new Date(1970,0,1),lastday=new Date(1969,11,31); 

firstday.setDate(firstday.getDate()-100000000); 

lastday.setDate(lastday.getDate()+100000000); 

firstday.toUTCString()+'; timestamp: '+firstday.getTime()+'\n'+ 
lastday.toUTCString()+'; timestamp: '+lastday.getTime(); 

/*返回值:(JS中的最大和最小日期)

周二,4月20日04:00:00 -271821 GMT;时间戳:-8639999985600000

9月12日星期五275760 04:00:00 GMT;时间戳:8639999928000000 */

相关问题