html代码

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script src="date_tool.js"></script>
<script>
var d = new Date();
var date_str = '2016-12-18 16:58:58';
//返回时间戳 不需毫秒数
document.write(dateTool.getTimeStampS(d)+"<br>");
//返回时间戳包括毫秒数
document.write(dateTool.getTimeStampMs(d)+"<br>");
//返回时间格式化过的时间
document.write(dateTool.getTime(d)+"<br>");
//返回时间格式化过的日期
document.write(dateTool.getDay(d)+"<br>");
//返回在在某个时间点上加n秒 的时间
document.write(dateTool.addSec('time',300,d)+"<br>");
//返回在在某个时间点上加n秒 的日期
document.write(dateTool.addSec('day',300,d)+"<br>");
//返回年份
document.write(dateTool.getSingle('s_year',d)+"<br>");
//返回月份
document.write(dateTool.getSingle('s_month',d)+"<br>");
//返回日
document.write(dateTool.getSingle('s_day',d)+"<br>");
//返回小时
document.write(dateTool.getSingle('s_hour',d)+"<br>");
//返回分
document.write(dateTool.getSingle('s_min',d)+"<br>");
//返回秒
document.write(dateTool.getSingle('s_second',d)+"<br>");
//字符串转日期对象
document.write(dateTool.strToDate(date_str)+"<br>");
</script>
</body>
</html>

js代码

 ;(function(){
var s_year,s_month,s_day,s_hour,s_min,s_second;
var dateTool = {
getTime:function(d){
this._init(d);
return s_year+'-'+s_month+'-'+s_day+' '+s_hour+':'+s_min+':'+s_second;
},
getDay:function(d){
this._init(d);
return s_year+'-'+s_month+'-'+s_day;
},
getTimeStampS:function(d){
return Date.parse(d)/1000;
},
getTimeStampMs:function(d){
return d.getTime();
},
getSingle:function(type,d){
this._init(d);
var rs = '';
switch(type){
case 's_year':
rs = s_year;
break;
case 's_month':
rs = s_month;
break;
case 's_day':
rs = s_day;
break;
case 's_hour':
rs = s_hour;
break;
case 's_min':
rs = s_min;
break;
case 's_second':
rs = s_second;
break;
}
return rs;
},
addSec:function(type,sec,d){
var tsms = this.getTimeStampMs(d);
var tmp_sec = tsms+parseInt(sec)*1000;
var _d = new Date(tmp_sec);
var rs = '';
if(type=='time'){
rs = this.getTime(_d);
}else{
rs = this.getDay(_d);
}
return rs;
},
//初始化
_init:function(d){
var rs = '';
s_year = ''+d.getFullYear();
s_month = this.fillTime(d.getMonth() + 1);
s_day = this.fillTime(d.getDate());
s_hour = this.fillTime(d.getHours());
s_min = this.fillTime(d.getMinutes());
s_second = this.fillTime(d.getSeconds());
},
fillTime:function(num){
num = num<10?('0'+num):(''+num);
return num;
},
//字符串 转 日期对象 如 2016-10-21 16:58:00
strToDate:function(str){
var a = str.split(" ");
var b = a[0].split("-");
var c = a[1].split(":");
var yyyy = b[0];
var mth = parseInt(b[1])-1;
var dd = b[2];
var hh = c[0];
var mm = c[1];
var ss = c[2];
// new Date(yyyy,mth,dd,hh,mm,ss);
// yyyy:四位数表示的年份
// mth:用整数表示月份,从0-11(1月到12月)
// dd:表示一个月中的第几天,从1到31
// hh:小时数,从0(午夜)到23(晚11点)
// mm:分钟数,从0到59的整数
// ss:秒数,从0到59的整数
// ms:毫秒数,为大于等于0的整数
var date = new Date(yyyy,mth,dd,hh,mm,ss);
return date;
}
};
window.dateTool = dateTool;
})();

js 时间函数封装的更多相关文章

  1. js获取当前时间,js时间函数

    Js获取当前日期时间及其它操作,js时间函数 var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); ...

  2. js 时间函数 及相关运算大全

    js 时间函数 及相关运算大全 var myDate = new Date(); myDate.getYear();        //获取当前年份(2位) myDate.getFullYear(); ...

  3. JS——tab函数封装

    1.为li标签添加index属性,这个属性正好就是span标签数组的index值 2.函数封装适合页面有多个tab切换,需要注意的在获取的li标签和span标签对象时,必须将对应div对象作为参数传入 ...

  4. JS 抖动函数封装

    原生JS实现封装的抖动函数框架 <style> ul{ margin-top: 100px; } li { float: left; margin-left: 20px; position ...

  5. js时间函数

    时间 new Date() 获取时间,可以理解为是系统默认的函数. 从小括号里面获取系统时间日期,相当于在调用系统默认的函数. 年 getFullYear() 注意,有Full. 月 getMonth ...

  6. JS 时间函数 / 格式化时间戳

    处理时间主要使用时间对象 Date , 其提供两个静态方法 Date.now() //获得当前时间戳 Date.parse() //将字符串转化成时间戳 创建对象 new Date(); // 返回当 ...

  7. 兼容主流浏览器的js原生函数封装

    1.获取和修改垂直滚动条的滚动距离 //获取滚动条滚动距离function getScrollTop(){ var fromTop=document.documentElement.scrollTop ...

  8. js getByClass函数封装

    function getByClass(oParent, sClass) { var aEle=oParent.getElementsByTagName('*'); var aResult=[]; v ...

  9. js继承函数封装

    function extend(subClass,superClass) { //初始化一个中间空对象,为了转换主父类关系 var F = function() {}; F.prototype = s ...

随机推荐

  1. Linux服务器jps报process information unavailable

    在Linux下执行 jps 是快速查看Java程序进程的命令,一般情况下hadoop,hbase,storm等进程都是通过jps查看,有些时候因为进程没有被正常结束,比如资源占用过大时挂掉或者没有结束 ...

  2. js 获取元素宽高

    可以用源生js的.offsetHeight .offsetWidth属性 document.getElementById("temp_form").offsetHeight // ...

  3. ajax返回数据类型为JSON数据的处理

    JSON数据处理: 1.编码格式必须为utf8 2.echo json_encode($db->GuanQuery($sql));   返回的是关联数组.json_encode返回的是json数 ...

  4. 使用VS2010编译64的Geos库

    Geos库在cmake中总是报错,所以我决定试试nmake编译64位的库.现将编译过程记录如下: 1.下载Geos,我下的是最新版3.5.0,地址在 http://trac.osgeo.org/geo ...

  5. 【转载】PyQt QSetting保存设置

    转载地址: http://blog.sina.com.cn/s/blog_4b5039210100h3zb.html 用户对应用程序经常有这样的要求:要求它能记住它的settings,比如窗口大小,位 ...

  6. Linux之CentOS 常用命令

    软件安装:安装软件:yum install <名称>移除软件:yum remove <名称>安装软件包:rpm -ivh <包全名>安装ifconfig: yum ...

  7. 初识ZooKeeper

    最近在看Apache下的一个开源项目ZooKeeper(http://zookeeper.apache.org/doc/trunk/),用百度百科介绍的来说,Zookeeper是一个针对大型分布式系统 ...

  8. Java Arrays类进行数组排序

    排序算法,基本的高级语言都有一些提供.C语言有qsort()函数,C++有sort()函数,java语言有Arrays类(不是Array).用这些排序时,都可以写自己的排序规则. Java API对A ...

  9. 2015ACM/ICPC亚洲区长春站

    5532 Almost Sorted Array 题目大意:给你一个序列,如果它拿掉其中一个数后,可以是该序列成为非递减或非递增序列,则输出YES. 有两种思路,第一种代码比较简单,是LIS,复杂度n ...

  10. 修改tomcat服务器banner的方法

    对于工作中经常使用tomcat的童鞋来说,已经很习惯地看到tomcat看到下图: 但是在实际场景中,这个Banner给入侵者提供了一定的指示作用.为了安全起见,要求更改这个信息,以起到一定的迷惑作用. ...