VB Now.Ticks equiv in javascript

问题描述:

如何在JavaScript中复制此内容?VB Now.Ticks equiv in javascript

Now.Ticks.ToString 

这是不愉快的,但这里是你的答案: http://codemonkey.joeuser.com/article/308527

DateTime.Ticks表示从午夜12:00:00,1月1日起已经过的100毫微秒间隔的数量,0001

JavaScript有Date.getTime(),它测量自1970年1月1日以来的毫秒数,所以如果你刚好在某些独特的东西后面,那么你可以使用它。显然这并不直接与DateTime.Ticks相比。

+0

我知道这将是一场噩梦,谢谢 – Oppdal 2011-03-16 15:27:30

+0

@Oppdal这不是一场噩梦......它只是加法和乘法。 – 2012-07-20 23:15:53

var date = new Date(); 
var ticks = date.getTime(); 

的getTime自1月1日的毫秒数,1970年

+0

需要注意的是,这不等于小于毫秒的刻度。 – 2012-07-20 23:15:39

最快捷,最简单的版本将是...

//get string version of time to the nearest millisecond 
var now = "" + new Date().getTime(); 

//Though in most cases its easier to keep it as a number, and just concatinate in your output somewhere 
document.title = "Now it is: " + new Date().getTime(); 
+0

因为这个问题被标记为vb.net,并且vb.net具有'strong'语言提示,这被突出显示为vb.net。只是FYI。您必须使用语言覆盖。 http://meta.stackexchange.com/questions/82032/please-add-prettyprint-class-when-explicitly-defined-class-with-language/82042#82042 – 2011-03-17 22:40:35

+0

嗯,我现在得到“为什么”......但我认为这更像是可用性的“回归”,而不是“功能”(因为它似乎只是在以前工作)。问题也被标记为JavaScript(在这种情况下,所需的答案是JavaScript)。有标签问题适用美化的订单吗? – scunliffe 2011-03-18 21:33:13

+0

那么你应该从这个问题中删除[vb.net]标签 – 2011-03-18 21:42:44

有没有真正的等价物。你问两个问题:

  1. 我如何在JavaScript中的当前日期时间&?这很容易,只写

    var now = new Date(); 
    
  2. 如何获得蜱的数量自Januari 1,0001?这个比较困难,因为javascript不适用于ticks,但以毫秒为单位,而偏移量是1970年1月1日。

    您可以从now.getTime()开始计算1970年1月1日以来的毫秒数,然后将其乘以10000.我只计算了0001-01-01和1970-01-01之间的滴答数,这是621355968000000000如果你还考虑到时区,产生的代码如下所示:

    function getTicks(date) 
    { 
        return ((date.getTime() - date.getTimezoneOffset() * 60000) * 10000) + 621355968000000000; 
    } 
    

现在getTicks(new Date())会得到相同的结果Now.Ticks.ToString在VB.Net与1毫秒的误差。

+0

复杂性和显而易见的答案是接受的答案。一个简单易于解释的表达而不是复杂的翻译。 – 2012-03-18 00:25:37

如果准确性不是问题,请尝试使用TimeSpan.TicksPerMillisecond作为滴答声。