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. poj 3264(线段树)

    http://poj.org/problem?id=3264 初学线段可以做的水题,也是线段树的基础运用.也是我的第一个线段树的题. 题意:在区间范围内的最大值减去最小值 思路:线段树记录下每个区间内 ...

  2. centOS 虚拟机设置固定IP:图形化设置

    右键单击图形化标志,Edit Connection 设置一下就可以了.

  3. Oracle 过程中检查数据表存在与否

    在过程中,尤其是每天执行的任务,通常要检查查询的数据表存在不存在,如果不存在则等待一段时间在进行执行,以下代码实现了这个功能,如果表不存在,抛出异常,交给异常处理代码,确保数据完整性 使用方法:p_C ...

  4. Python之路,Day2 - Python基础2

    def decode(self, encoding=None, errors=None): """ 解码 """ ""& ...

  5. iOS 归档archive使用方法

    归档是一种很常用的文件储存方法,几乎任何类型的对象都能够被归档储存,文件将被保存成自定 义类型的文件,相对于NSUserDefault具有更好的保密性.   1.使用archiveRootObject ...

  6. oracle导入导出数据

    导入数据,cmd   imp 导出数据,cmd   exp

  7. Android root + 修改host

    1.使用KingRoot下载手机版,安装后进行Root处理. 2.下载 RE文件管理器,安装后,打开应用,进入etc,找到host, 勾选,菜单中选择 以文本方式编辑,修改好之后,按返回键 ,提示保存 ...

  8. pm2无法自动重启

    在服务器上有个上传文件的服务,之前是pm2启动,每当有文件上传会自动重启 现在为了应对服务器宕机,我把启动脚本放在了另一文件夹内,所以就无法自动重启, 原文在 http://pm2.keymetric ...

  9. fabric devenv Vagrantfile配置

    Vagrantfile文件只会在第一次执行vagrant up时调用执行,其后如果不明确使用vagrant reload,则不会被强制重新加载. # This is the mount point f ...

  10. 常见开发需求之angular上拉加载更多

    需求   移动端使用angular实现上拉加载更多的条目,这个需求比较常见,网上的插件改动起来比较麻烦,不如自己写一个最适合,以前有同事写了一个,奈何bug太多,后来改分页了,我们产品说什么都让做,没 ...