.getTime()替代没有毫秒

时间:2015-03-16 14:39:10

标签: javascript

有没有办法使用Date()。getTime()函数而不会花费时间(以毫秒为单位)?如果没有,那么.getTime()的替代品只能在几分钟内给出精度吗?

此外,我不确定如何从日期对象中删除毫秒。

var time = new Date().getTime()

Output: 1426515375925

7 个答案:

答案 0 :(得分:19)

简单算术。如果您想要以秒为单位的值,请将毫秒结果除以1000:

var seconds = new Date().getTime() / 1000;

您可能希望在其上调用Math.floor()以删除任何小数:

var seconds = Math.floor(new Date().getTime() / 1000);
  

我可以使用不同的功能,只给我自1970年1月1日以来的分钟数,我只是不希望数字一样精确。

当然,将秒数除以60,或将毫秒除以60000:

var minutes = Math.floor(new Date().getTime() / 60000);

var milliseconds = 1426515375925,
    seconds = Math.floor(milliseconds / 1000),  // 1426515375
    minutes = Math.floor(milliseconds / 60000); // 23775256

答案 1 :(得分:4)

在我的情况下(没有毫秒的日期),我希望毫秒总是为零,所以它会像:

HH:MM:SS:000

以下是我如何实现它:

figure
plot(X(:,1),X(:,2),'.')
opts=statset('Display','final')
[idx,c]=kmeans(x,4,'Distance','cityblock,...
        'Replicates',5,'Options',opts)
figure
plot(X(idx==1,1),X(idx==1,2),'r.','MarkerSize',12)
hold on
plot(X(idx==2,1),X(idx==2,2),'b.','MarkerSize',12)
hold on
plot(X(idx==3,1),X(idx==3,2),'g.','MarkerSize',12)
hold on
plot(X(idx==4,1),X(idx==4,2),'y.','MarkerSize',12)
hold on
plot(C(:,1),C(:,2),'Kx',...
     'MarkerSize',15,'LineWidth',3)
legend('Cluster 1','Cluster 2','Cluster 3','Cluster 4','Centroids',...
   'Location','NW')
title 'Cluster Assignments and centroids '
hold off

也许这会对某人有用

答案 2 :(得分:2)

这是从getTime

中快速删除milisecont的方法
var milli = new Date().getTime()
var timeWithoutMilli = Math.floor(milli/1000);

这将返回秒数

答案 3 :(得分:2)

删除毫秒的最简单方法:

Long date = new Date().getTime() / 1000 * 1000

1582302824091 L变为 1582302824000 L
2020-02-21 17:33:44.091 变为 2020-02-21 17:33:44.0

答案 4 :(得分:1)

当前时间的日期对象:

var time = new Date();

答案 5 :(得分:0)

默认情况下,时间设置为自纪元以来的毫秒数。要获得秒数,只需将该数字除以1000,然后舍入以得到整数

Math.round(new Date().getTime()/1000)

获得将该数字除以60的分钟数

Math.round(new Date().getTime()/1000/60)

答案 6 :(得分:0)

你可以拉出你想要的每一部分时间并放入格式化的字符串,比如

var time = new Date().getHours() + ":" + new Date().getMinutes() + ":" + new Date().getSeconds();