2013-10-08 111 views
3

这就是我在Ruby中所做的。Javascript - 将时间转换为整数并将整数转换为时间

time = Time.now 
=> 2013-10-08 12:32:50 +0530 
time.to_i //converts time to integer 
=> 1381215770 
Time.at(time.to_i) //converts integer to time 
=> 2013-10-08 12:32:50 +0530 

我想实现与Node.js一样的,但不知道如何去做。请帮助我找到一个用Node.js,Javascript实现相同的模块。谢谢!

回答

6

在javascript世界。

Date.now() 

and 

new Date(1381216317325); 
+2

需要注意的是,在JavaScript中,Date是从1970年1月1日00:00:00 UTC(Unix Epoch)(通常只有几秒 - 在Ruby中)存储的毫秒数,并且该Date.now()仅返回实际时间,如果您需要将任何Date对象转换为整数,请使用Date.getTime()。 – ivoszz

3

除了user10答案

Date.parse("2013-10-08 12:32:50 +0530"); 

将让你时间整数

编辑
Date API

+0

我真的需要这个。谢谢! –

-1
new Date().getTime(); 

将返回一个整数代表自UTC 1970年1月1日午夜以来以毫秒为单位的时间。这需要被解析为更人性化的可读性。

JavaScript中没有默认的方法将这个数字转化为人类可解释的日期,所以你必须自己写。

一个简单的方法是这样的:

function getTime() { 
    var now = new Date(); 
    return ((now.getMonth() + 1) + '-' + 
      (now.getDate()) + '-' + 
      now.getFullYear() + " " + 
      now.getHours() + '-' + 
      ((now.getMinutes() < 10) 
       ? ("0" + now.getMinutes()) 
       : (now.getMinutes())) + ':' + 
      ((now.getSeconds() < 10) 
       ? ("0" + now.getSeconds()) 
       : (now.getSeconds()))); 
} 

console.log(getTime()); 

你可以调整自己出现的顺序。