VB Now.Ticks equiv in javascript
这是不愉快的,但这里是你的答案: http://codemonkey.joeuser.com/article/308527
DateTime.Ticks
表示从午夜12:00:00,1月1日起已经过的100毫微秒间隔的数量,0001
JavaScript有Date.getTime()
,它测量自1970年1月1日以来的毫秒数,所以如果你刚好在某些独特的东西后面,那么你可以使用它。显然这并不直接与DateTime.Ticks
相比。
var date = new Date();
var ticks = date.getTime();
的getTime自1月1日的毫秒数,1970年
需要注意的是,这不等于小于毫秒的刻度。 – 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();
因为这个问题被标记为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
嗯,我现在得到“为什么”......但我认为这更像是可用性的“回归”,而不是“功能”(因为它似乎只是在以前工作)。问题也被标记为JavaScript(在这种情况下,所需的答案是JavaScript)。有标签问题适用美化的订单吗? – scunliffe 2011-03-18 21:33:13
那么你应该从这个问题中删除[vb.net]标签 – 2011-03-18 21:42:44
有没有真正的等价物。你问两个问题:
-
我如何在JavaScript中的当前日期时间&?这很容易,只写
var now = new Date();
-
如何获得蜱的数量自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毫秒的误差。
复杂性和显而易见的答案是接受的答案。一个简单易于解释的表达而不是复杂的翻译。 – 2012-03-18 00:25:37
如果准确性不是问题,请尝试使用TimeSpan.TicksPerMillisecond
作为滴答声。
我知道这将是一场噩梦,谢谢 – Oppdal 2011-03-16 15:27:30
@Oppdal这不是一场噩梦......它只是加法和乘法。 – 2012-07-20 23:15:53