有没有办法使用Date()。getTime()函数而不会花费时间(以毫秒为单位)?如果没有,那么.getTime()的替代品只能在几分钟内给出精度吗?
此外,我不确定如何从日期对象中删除毫秒。
var time = new Date().getTime()
Output: 1426515375925
答案 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
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();