美文网首页程序员
日常小计-js时间转换时间戳(IOS与Android)

日常小计-js时间转换时间戳(IOS与Android)

作者: 清风徐云去 | 来源:发表于2018-03-21 17:05 被阅读0次

做了个小demo,放上来记一下,没什么技术含量。
效果图:


1
2-未选择时间
3-选择时间
4-确定

注意问题:
转换为时间戳时需要注意时间字符串的格式,因为Android和ios显示是不一样的,例如安卓一般为“2018-3-12 16:42”而ios有这样的格式“2018-3-12T16:43”,所以在转换的时候要做兼容。不过本案例中只截取了日期,并不需要后面的时间,所以这里不需要做兼容。

js判断客户端是ios还是Android

var u = navigator.userAgent; 
var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端 
var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端

ios处理方法:

var endTime_iso=endTime_str.split(/[- :]/);

endTime=new Date(
    endTime_iso[0],
    endTime_iso[1]-1,
    endTime_iso[2],
    endTime_iso[3],
    endTime_iso[4],
    endTime_iso[5]
).getTime()/1000

Android就比较简单了

new Date(endTime_str).getTime()/1000;

demo代码,因为不需要后面的时间,所以把截取时间的都注释掉了

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <title>demo</title>

    <link rel="stylesheet" href="./css/mobiscroll.custom-2.5.0.min.css">
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.css" />
    
</head>
<body>
    <input type="button" value="计算" data-role="datebox" id="txtBirthday" name="txtBirthday" onChange="calculate()"/>

<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script> 
<script src="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.js"></script>
<script src="./js/mobiscroll.custom-2.5.0.min.js"></script>
<script>
    var u = navigator.userAgent; 
    var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端 
    var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
</script>
<script>
  $(function(){
        //mobiscroll的调用方法
    $('input:jqmData(role="datebox")').mobiscroll().date();
  })
//因为需求点击mobiscroll的确定按钮就直接进行计算,所以只能通过onChenge监听来进行
function calculate(){
    // console.log("2")
    var s_date = $("input[name='txtBirthday']").val();
        //ios处理方法
        if(isiOS){
             console.log("2")
            s_date=s_date.split(/[- :]/);
            s_date=new Date(
                s_date[0],
                s_date[1]-1,
                s_date[2]
                // endTime_iso[3],
                // endTime_iso[4],
                // endTime_iso[5]
                ).getTime()
        }else{
                //Android处理方法
            var f = s_date.split(' ', 2);
            var d = (f[0] ? f[0] : '').split('-', 3);
            //var t = (f[1] ? f[1] : '').split(':', 3);
            s_date = 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();
        }
        console.log("s_date----",s_date)
        //获取当前时间戳
        var e_date=new Date().getTime();
        console.log("e_date----",e_date)
        //时间戳之差
        var newDate = e_date - s_date
        console.log("newDate----",newDate)
        //时间戳转换为天数,注意后面是*1000的,因为在转为时间戳的时候没有/1000,所以在这里要加上
        days = Math.floor(newDate/(24*3600*1000))
        console.log(" 相差 "+ days +"天 ")
}   
</script>
</body>
</html>

相关文章

  • 日常小计-js时间转换时间戳(IOS与Android)

    做了个小demo,放上来记一下,没什么技术含量。效果图: 注意问题:转换为时间戳时需要注意时间字符串的格式,因为A...

  • 获取时间,时间与时间戳之间的转换

    一、JS获取当前时间,时间与时间戳之间的转换 获取当前时间 时间与时间戳之间的转换 将时间戳转换成日期格式 将日期...

  • JS时间戳快速转换为日期时间

    JS时间戳快速转换为日期时间 日常使用Date的时候,标记一个是时间戳,会显示成下面的画风 var myDate=...

  • js转换时间戳

    可先将js字符串转换为date类型,再转换为时间戳类型。字符串格式为 yyyy-MM-dd HH:mm:ss或者...

  • iOS 时间戳、时间转换

    参考文档1:iOS时间类型转换和各种数据类型进行转换 参考文档2:iOS开发中的时间与日期(上) 转换工具:时间戳...

  • iview DatePicker 限制只能选本月

    HTML: JS: 扩展:一些时间格式的转换与时间的获取 JS获取当前时间戳的方法-JavaScript 获取当前...

  • 时间戳转换

    由于经常需要用的到时间戳转换,后台传过来的数据可能是时间戳,js需要转换成时间 js方法 functiontoDa...

  • iOS时间戳转换

    .h文件 .m里 仅供参考

  • iOS时间戳转换

    获取当前时间 NSDate *startDate = [NSDate date]; // 获得时间对象 NSTim...

  • iOS 时间戳转换

    常用时间戳转换记录 1. 将某个时间Str转化成 时间戳 2. 将某个时间戳转化成 时间Str

网友评论

    本文标题:日常小计-js时间转换时间戳(IOS与Android)

    本文链接:https://www.haomeiwen.com/subject/yrbgqftx.html