zoukankan      html  css  js  c++  java
  • jquery 时间戳与日期转换

    (function($) {
        $.extend({
            myTime: {
                /**
                 * 当前时间戳
                 * @return <int>        unix时间戳(秒)  
                 */
                CurTime: function(){
                    return Date.parse(new Date())/1000;
                },
                /**              
                 * 日期 转换为 Unix时间戳
                 * @param <string> 2014-01-01 20:20:20  日期格式              
                 * @return <int>        unix时间戳(秒)              
                 */
                DateToUnix: function(string) {
                    var f = string.split(' ', 2);
                    var d = (f[0] ? f[0] : '').split('-', 3);
                    var t = (f[1] ? f[1] : '').split(':', 3);
                    return (new Date(
                            parseInt(d[0], 10) || null,
                            (parseInt(d[1], 10) || 1) - 1,
                            parseInt(d[2], 10) || null,
                            parseInt(t[0], 10) || null,
                            parseInt(t[1], 10) || null,
                            parseInt(t[2], 10) || null
                            )).getTime() / 1000;
                },
                /**              
                 * 时间戳转换日期              
                 * @param <int> unixTime    待时间戳(秒)              
                 * @param <bool> isFull    返回完整时间(Y-m-d 或者 Y-m-d H:i:s)              
                 * @param <int>  timeZone   时区              
                 */
                UnixToDate: function(unixTime, isFull, timeZone) {
                    if (typeof (timeZone) == 'number')
                    {
                        unixTime = parseInt(unixTime) + parseInt(timeZone) * 60 * 60;
                    }
                    var time = new Date(unixTime * 1000);
                    var ymdhis = "";
                    ymdhis += time.getUTCFullYear() + "-";
                    ymdhis += (time.getUTCMonth()+1) + "-";
                    ymdhis += time.getUTCDate();
                    if (isFull === true)
                    {
                        ymdhis += " " + time.getUTCHours() + ":";
                        ymdhis += time.getUTCMinutes() + ":";
                        ymdhis += time.getUTCSeconds();
                    }
                    return ymdhis;
                }
            }
        });
    })(jQuery);

    用法
    console.log($.myTime.DateToUnix('2014-5-15 20:20:20'));
    console.log($.myTime.UnixToDate(1325347200));

    1. 将时间戳转换成日期格式:

    function timestampToTime(timestamp) {
            var date = new Date(timestamp * 1000);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
            var Y = date.getFullYear() + '-';
            var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
            var D = date.getDate() + ' ';
            var h = date.getHours() + ':';
            var m = date.getMinutes() + ':';
            var s = date.getSeconds();
            return Y+M+D+h+m+s;
        }
        timestampToTime(1403058804);
        console.log(timestampToTime(1403058804));//2014-06-18 10:33:24

    注意:如果是Unix时间戳记得乘以1000。比如:PHP函数time()获得的时间戳就要乘以1000。

    2. 将日期格式转换成时间戳:

    var date = new Date('2014-04-23 18:55:49:123');
        // 有三种方式获取
        var time1 = date.getTime();
        var time2 = date.valueOf();
        var time3 = Date.parse(date);
        console.log(time1);//1398250549123
        console.log(time2);//1398250549123
        console.log(time3);//1398250549000

      以上三种获取方式的区别:

      第一、第二种:会精确到毫秒

      第三种:只能精确到秒,毫秒用000替代

      以上三个输出结果可观察其区别

      注意:获取到的时间戳除以1000就可获得Unix时间戳,就可传值给后台得到。

  • 相关阅读:
    【leetcode】Find Minimum in Rotated Sorted Array JAVA实现
    去哪儿2015笔试题JAVA实现
    实现前端table中checkbox全选功能,并将选中的数据发送到后端
    跨站请求伪造CSRF
    XSS危害——session劫持
    跨站脚本攻击XSS
    python异常中的else作用
    Markdown文本编辑
    Gson的简单使用
    【spring in action 学习--springMVC搭建】在不使用web.xml的情况下,配置Srping MVC工程
  • 原文地址:https://www.cnblogs.com/alizhi/p/9981611.html
Copyright © 2011-2022 走看看