js实现类似php中strtotime函数和timetostr的日期转换/互换功能

<script type="text/javascript">  
//日期(格式:yyyy-mm-dd H:i:s) ---转换为以秒为单位的unix时间轴(格式:xxxxxx) 方法一:  
//摘取天上星:http://blog.csdn.net/zqtsx  
function strtotime1(datetime){   
    var tmp_datetime = datetime.replace(/:/g,‘-‘);   
    tmp_datetime = tmp_datetime.replace(/ /g,‘-‘);   
    var arr = tmp_datetime.split("-");   
    var y=arr[0];  
    var m=arr[1]-1;  
    var d=arr[2];  
    var h=arr[3]-8; ///兼容八小时时差问题  
    var i=arr[4];  
    var s=arr[5];  
    //兼容无"时:分:秒"模式  
    if(arr[3]==‘undefined‘ || isNaN(h)){  
      h=00;  
    }  
    if(arr[4]==‘undefined‘ || isNaN(i)){  
      i=00;  
    }  
    if(arr[5]==‘undefined‘ || isNaN(s)){  
      s=00;  
    }  
    var now = new Date(Date.UTC(y,m,d,h,i,s));   
    return parseInt(now.getTime()/1000);   
}  
//日期(格式:yyyy-mm-dd H:i:s) ---转换为以秒为单位的unix时间轴(格式:xxxxxx) 方法二:  
function strtotime(datetime){  
    var _ = datetime.split(‘ ‘);  
    var ymd = _[0];  
    var his = _[1];  
    var str = ymd.split(‘-‘);  
    var fix = his.split(‘:‘);  
    var year  = str[0] - 0;   
    var month = str[1] - 0 - 1;   
    var day   = str[2] - 0;   
    var hour   = fix[0] - 0;   
    var minute = fix[1] - 0;   
    var second = fix[2] - 0;  
    //兼容无"时:分:秒"模式  
    if(fix[0]==‘undefined‘ || isNaN(hour)){  
      hour=00;  
    }  
    if(fix[1]==‘undefined‘ || isNaN(minute)){  
      minute=00;  
    }  
    if(fix[2]==‘undefined‘ || isNaN(second)){  
      second=00;  
    }  
    time = (new Date(year, month, day, hour, minute, second)).getTime();  
    //alert(time);  
    return parseInt( time / 1000 );  
}  
//日期24小时格式下,个位数前补零  
//摘取天上星:http://blog.csdn.net/zqtsx  
function fillZero(v){  
    if(v<10){v=‘0‘+v;}  
    return v;  
}  
//以秒为单位的unix时间轴转换成日期 转换后的格式为:yyyy-mm-dd H:i:s   方法一:  
function timetostr1(unix) {   
    var now = new Date(parseInt(unix) * 1000);   
    //12小时格式日期转换获取方法该方法无法应用于反向转换,因为不精确  
    //return now.toLocaleString().replace(/年|月/g, ‘-‘).replace(/日/g, ‘‘).replace(/上午|下午/g,‘‘);   
    //精确到24小时格式  
    return now.getFullYear()+‘-‘+fillZero(now.getMonth()+1)+‘-‘+fillZero(now.getDate())+‘ ‘+fillZero(now.getHours())+‘:‘+fillZero(now.getMinutes())+‘:‘+fillZero(now.getSeconds());  
}  
//linux时间秒 转换成日期格式  
//uninxtime以秒为单位的unix时间  
//type日期格式type=12为12小时格式,其它或不填写即为24小时格式  
//show_type是否显示星期几show_type=1即为显示星期几,并带有年月日的汉字日期单位,不填写或其它默认为不现实星期几  
//方法二:  
//摘取天上星:http://blog.csdn.net/zqtsx  
function timetostr(unixtime,type,show_type){  
      var d=new Date(parseInt(unixtime) * 1000);  
      var Week=[‘星期天‘,‘星期一‘,‘星期二‘,‘星期三‘,‘星期四‘,‘星期五‘,‘星期六‘];  
      Y=d.getFullYear();  
      M=fillZero(d.getMonth()+1);  
      D=fillZero(d.getDate());  
      W=Week[d.getDay()]; //取得星期几  
      H=fillZero(d.getHours());  
      I=fillZero(d.getMinutes());  
      S=fillZero(d.getSeconds());  
      //12小时制显示模式  
      if(type && type==12){  
        //若要显示更多时间类型诸如中午凌晨可在下面添加判断  
        if(H<=12){  
          H=‘上午 ‘+H;  
        }else if(H>12 && H<24){  
          H-=12;  
          H=‘下午 ‘+fillZero(H);  
        }else if(H==24){  
          H=‘凌晨 00‘;  
        }  
      }  
      if(show_type && show_type==‘1‘) return Y+‘年‘+M+‘月‘+D+‘日‘+‘ ‘+W+‘ ‘+H+‘:‘+I+‘:‘+S;  
      return Y+‘-‘+M+‘-‘+D+‘ ‘+H+‘:‘+I+‘:‘+S;  
      //可添加扩展每秒更新时间 组建 摘取天上星:http://blog.csdn.net/zqtsx  
}  
</script>

js实现类似php中strtotime函数和timetostr的日期转换/互换功能,布布扣,bubuko.com

时间: 2024-12-25 10:35:34

js实现类似php中strtotime函数和timetostr的日期转换/互换功能的相关文章

通过js看类似C#中的回掉

我认为并行有两种形式,第一种是异步,第二种是多线程,目的都是为了实现并行,只不过异步和多线程都是手段而已 第一种异步 异步,执行完函数或方法后,不必阻塞性地等待返回值或消息,只需要向系统委托一个异步过程,那么当系统接收到消息时,系统会自动触发委托的异步过程,从而完成一个完整的流程 第二种多线程多线程,由于同步函数在请求API数据的时候,由于网络等原因,不能很快的完成,因此会发生进程阻塞(直到本身函数执行完成,下面的函数才会执行),因此,往往是新建一个进程,让它执行这个过程,主线程管理用户界面,不

js拼装字符串中调用函数传递多个参数。

var txt = '<button href="javascript:void(0);" onclick="editItemXmys(\''+row.XMYS_ID+"','"+row.ITEM_NO+'\')" class="iput_m" style="width: 40px; height: 20px;">' + '修改' + '</button>'; 原文地址:https:

C/C++中的函数重载(overloading)

几年前,我已经介绍过如何使用const和volatile限定词声明数据.使用这些限定词来声明数据,产生的影响会波及到函数的声明.在C和C++中,影响是不一样的,很大程度上是因为C++中的函数声明比C有更多的功能.为了更清楚描述清楚影响的不同,我们先来看看C和C++中函数最主要的差异是什么. 很多C库包含至少一组的命名非常接近的函数.每个函数除了参数或返回值不同,功能在本质上是相同的. 标准C库也包含若干这样的组.例如,有一组“abs”函数专门用来计算一个数值的绝对值.组里包含: int abs(

JS中的函数,Array对象,for-in语句,with语句,自定义对象,Prototype

一)函数 A)JS中的函数的定义格式: function add(a,b) { var sum = a+b; document.write("两个数的和是:" + sum); //return sum; } 上面只是一个例子 ,那么当我们再定义一个同名的函数会怎么样呢? function add(a,b,c) { var sum = a+b+c; document.write("三个数的和是:" + sum); } 然后调用函数: add(50,30,10);   

js的for循环中出现异步函数,回调引用的循环值总是最后一步的值?

这几天跟着视频学习node.js,碰到很多的异步函数的问题,现在将for循环中出现的异步函数回调值的问题总结如下: 具体问题是关于遍历文件夹中的子文件夹的,for循环包裹异步函数的代码: for (var i = 0; i < files.length; i++) { var itemFile = files[i]; fs.stat("./uploads/" + itemFile, function (err, stats) { if (stats.isDirectory())

html css &lt;input&gt; javaScript .数据类型 JS中的函数编写方式 BOM总结 DOM总结

Day27  html css div 块标签. 特点: 独占一行,有高度和宽度 span 行元素. 特点:在同一行显示,当前行满了自动去下一行显示. 不识别高度和宽度 1.1.1.1 2.输入域标签 :<input> l <input> 标签用于获得用户输入信息,type属性值不同,搜集方式不同.最常用的标签. n type属性 u text:文本框,单行的输入字段,用户可在其中输入文本.默认宽度为 20 个字符 u password:密码框,密码字段.该字段中的字符以黑圆显示.

js中一些函数(一)【丫头, 今天去哪儿了呢,好些没有】

Math.Rondom()   ==>  0 到 1 之间的小数 Math.floor(x)  ==>  小于或者等于 x 的整数(即转换成整数后是不能比 x 大的整数) setInterval(hanshu,1000)  ==>  意思为调用下面的 hanshu(), 间隔时间为 1000 ms(毫秒) js中一些函数(一)[丫头, 今天去哪儿了呢,好些没有],码迷,mamicode.com

让js中的函数只有一次有效调用的三种常用方法

如何让js中的函数只被有效执行一次,请看下面的三种常用方法. 1. <script> window.onload = function () { function once(fn) { var result; return function() { if(fn) { result = fn.apply(this, arguments); fn = null; } return result; }; } var callOnce = once(function() { console.log('

JS中的函数、Bom、DOM及JS事件

本期博主给大家带来JS的函数.Bom.DOM操作,以及JS各种常用的数据类型的相关知识,同时,这也是JavaScript极其重要的部分,博主将详细介绍各种属性的用法和方法. 一.JS中的函数 [函数的声明及调用] 1.函数声明的格式: function 函数名(参数1,参数2,参数3,--){//函数体 return 结果; } >>>函数的调用格式: 直接调用:函数调用的格式:函数名(参数一的值,参数二的值,--): 事件调用:事件名=函数名( ); 2.函数声明的几点强调: ①函数名