Javascript 可以用浮点格式表示日期时间吗?

Javascript 可以用浮点格式表示日期时间吗?,javascript,node.js,datetime,Javascript,Node.js,Datetime,基本上我使用两种语言,一种是ruby,另一种是javascript。 在ruby中,您可以执行以下操作: date.to_f -->并给出日期的浮点表示,如下所示: 1541393269.3742561 但是当你用javascript说: Date.now() 154237702445 我也尝试过使用MomentJS,但仍然不能完全确定如何反映时间的浮动表示 有没有一种方法可以像ruby一样用浮点数在javascript中表示日期?使用,可以获得比日期更高的精度。现在(),尽管为了缓解Sp

基本上我使用两种语言,一种是ruby,另一种是javascript。 在ruby中,您可以执行以下操作:

date.to_f 
-->并给出日期的浮点表示,如下所示:

1541393269.3742561

但是当你用javascript说:

Date.now()
154237702445

我也尝试过使用MomentJS,但仍然不能完全确定如何反映时间的浮动表示

有没有一种方法可以像ruby一样用浮点数在javascript中表示日期?

使用,可以获得比
日期更高的精度。现在()
,尽管为了缓解Spectre,一些浏览器任意限制此API的精度,所以如果确实需要精确值,请小心:

const to_f=()=>(performance.timeOrigin+performance.now())/1000;
console.log(to_f())使用,您可以获得比日期更高的精度。现在()
,但为了减轻Spectre的影响,一些浏览器任意限制此API的精度,因此如果确实需要精确值,请小心:

const to_f=()=>(performance.timeOrigin+performance.now())/1000;

console.log(to_f())JavaScript在内部使用自纪元以来的毫秒

虽然我不熟悉Ruby,但它看起来像是日期。to_f
给出了一个从纪元开始以秒为单位的数字,您必须将这个数字乘以1000才能与JavaScript的日期兼容

var rubyTime=1541393269.3742561;
var jsTime=1542377024455;
console.log(新日期(rubyTime*1000));

console.log(新日期(jsTime))JavaScript在内部使用自纪元以来的毫秒

虽然我不熟悉Ruby,但它看起来像是日期。to_f
给出了一个从纪元开始以秒为单位的数字,您必须将这个数字乘以1000才能与JavaScript的日期兼容

var rubyTime=1541393269.3742561;
var jsTime=1542377024455;
console.log(新日期(rubyTime*1000));


console.log(新日期(jsTime))
Date.now()有什么问题吗?或者您的问题是如何获得比毫秒更高的精度?以保持与旧版的兼容性code@t.niese你有没有看到ruby表示法有17个浮点数?那个日期。现在()只有13位长?我想你只要除以1000就可以了
Date.now()
只是从纪元开始的毫秒数。@juangarcia这就是为什么我问你的问题是关于准确性的。Ruby以微秒为单位显示Unix epoche之后的日期,以毫秒为单位显示日期。
date。现在
以毫秒为单位返回Unix epoche之后的日期。因此,使用
Date.now()/1000
时,它的比例与使用
to_f
时的比例相同。浮点没有数字,它们(大多数情况下)有一个近似值。
Date.now()/1000有什么问题?或者您的问题是如何获得比毫秒更高的精度?以保持与旧版的兼容性code@t.niese你有没有看到ruby表示法有17个浮点数?那个日期。现在()只有13位长?我想你只要除以1000就可以了
Date.now()
只是从纪元开始的毫秒数。@juangarcia这就是为什么我问你的问题是关于准确性的。Ruby以微秒为单位显示Unix epoche之后的日期,以毫秒为单位显示日期。
date。现在
以毫秒为单位返回Unix epoche之后的日期。因此,使用
Date.now()/1000
时,它的比例与使用
to_f
时的比例相同。浮点没有数字,它们有一个(大部分时间)近似值。这是正确的,我看到对于nodejs应该是是的,它的工作原理如下:
performance.now()+performance.timeOrigin
虽然我可能会将点移到那里,但这样构造日期时间安全吗?我总是使用“时刻”是有原因的……这是正确的,我看到对于nodejs,它应该是肯定的,它看起来是这样的:
performance.now()+performance.timeOrigin
虽然我可能会将点移到那里,但这样构造日期时间安全吗?我总是因为一个原因而使用片刻…再看一次,看看每个数字中有多少位数。。。这就是问题所在…看。OP已经在他们的问题中声明,他们知道这种关系。问题不在于1000的刻度,问题在于
Date.now()
提供的毫秒量化值,而在Ruby中它被量化为微秒。@PatrickRoberts是真的,但并非所有浏览器都支持
timeOrigin
方法,请再看一次,看看每个数字中有多少位数。。。这就是问题所在…看。OP已经在他们的问题中声明,他们知道这种关系。问题不在于1000的刻度,问题在于
Date.now()
提供的毫秒量化值,而在Ruby中它被量化为微秒。@PatrickRoberts是真的,但并非所有浏览器都支持
timeOrigin
方法,根据