【问题标题】:Javascript,getTime()Javascript,getTime()
【发布时间】:2012-07-19 21:09:12
【问题描述】:

我正在尝试了解有关getTime() 的一些信息, 我的问题是, 我正在设置一个新日期,可以说:23,07,2012。 当我在其上使用getTime() 时,我应该得到自 01,01,1970 以来的毫秒数。 当我将我从getTime() 获得的值除以 (1000*60*60*24) 时,我应该得到从 01,01,1970 到05,07,2012 但不知何故我得到了一个带小数点的数字 (15543.875) 我不明白为什么,我的意思是从 01,01,1970 strong> 和 23,07,2012 我应该得到一个整数(我的想法),我知道我真的错了,如果有人可以帮助我理解为什么结果中的小数点。

【问题讨论】:

    标签: javascript gettime


    【解决方案1】:

    如果您设置的日期类似于new Date(2012, 06, 23),它将根据客户端的时区设置,其中.getTime() 是UTC。你要Date.UTC:

    Date.UTC(2012,6,23) / (1000*60*60*24)
    //15544 For any computer
    
    new Date(2012, 06, 23) / (1000*60*60*24)
    //15543.875 For my computer, I am coincidentally in  the same timezone as Israel. This result will depend on what timezone the client is.
    

    【讨论】:

    • 谢谢你,esailija 你能上传一个代码,显示我的时区和UTC时区的结果(1000 * 60 * 60 * 24),因为链接不起作用,我不能写下代码它不工作mabye我没有得到你的权利所以如果你可以请上传谢谢。
    • @uBlankText 您需要的所有代码都在我的回答中。在此处显示您的非工作代码:jsfiddle.net
    • 谢谢,我去看看。
    • 所以小数点是因为我的时区在几个小时后落后了,为什么我应该使用 ceil 方法或 UTC?
    • @uBlankText 你应该只使用UTC。小数点只是一个症状,真正的原因是您在使用UTC 时可以忽略的时区。所以使用UTC。
    猜你喜欢
    • 2014-07-22
    • 2015-05-25
    • 2012-08-07
    • 1970-01-01
    • 1970-01-01
    • 2013-10-01
    • 1970-01-01
    • 2011-02-07
    • 2020-08-23
    相关资源
    最近更新 更多