【问题标题】:JavaScript Dates and TimesJavaScript 日期和时间
【发布时间】:2011-03-05 07:10:05
【问题描述】:

什么是 JavaScript 等价于以下 PHP 代码:

$expTime = time() + (5 * 60 * 60); // now plus 5 hours (5 hour; 60 mins; 60 secs) 
$expTimeStr = gmdate('Y-m-d\TH:i:s\Z', $expTime); 

【问题讨论】:

    标签: javascript phpjs


    【解决方案1】:
    var expTime    = new Date((+new Date()) + (5 * 60 * 60000))
    var m          = expTime.getMonth() + 1
    var d          = expTime.getDate()
    var y          = expTime.getFullYear()
    var h          = expTime.getHours()
    var i          = expTime.getMinutes()
    var s          = expTime.getSeconds()
    var expTimeStr = y +"-"+ m +"-"+ d +" "+ h +":"+ i +":"+ s
    

    【讨论】:

    • 这行不通。如果时间是晚上 11:00,则小时正确,但日期显示错误。
    • 直接使用 gnarfs 方法修复了 +5 小时
    • 这是一个不错的解决方案!无论如何我改变了一些东西:奇怪的是你没有在月、日、分钟和秒(甚至小时)中使用前导零。那么,谁可能感兴趣:var expTimeStr = y +"-"+ (m.toString().length<2 ? '0' : '')+m +"-"+ (d.toString().length<2 ? '0' : '')+d + ...
    • 重要!!如果您想要正确的本地时间偏移量:var expTime = new Date((+new Date()) + (new Date().getTimezoneOffset() * 60000))
    【解决方案2】:

    gmdate() 函数不能很好地转移到 JavaScript... 有一个 gmdate() port on phpjs 使用 date() function from phpjs 进行复杂的格式化。

    计算日期:

    var time = new Date((+new Date()) + (5 * 60 * 60000)); // js times are ms
    
    alert(time.toUTCString()); // quick JS method to return UTC time
    

    (+new Date()) 在添加 ms 之前将 Date() 强制为整数,并将其传递回 new Date() 构造函数。

    【讨论】:

      【解决方案3】:

      Javascript 的内置日期格式并不令人难以置信,但我可以提供两个有用的库来完成您想要的。 第一个是称为 phpjs - 一些 php 函数的 Javascript 端口。

      http://phpjs.org/functions/index

      http://phpjs.org/functions/gmdate:586

      第二个是jQuery插件:

      http://joncom.be/code/jquery-phpdate/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-11-04
        • 1970-01-01
        • 2019-10-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多