js 时间函数封装
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 时间函数封装的更多相关文章
- js获取当前时间,js时间函数
Js获取当前日期时间及其它操作,js时间函数 var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); ...
- js 时间函数 及相关运算大全
js 时间函数 及相关运算大全 var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); ...
- JS——tab函数封装
1.为li标签添加index属性,这个属性正好就是span标签数组的index值 2.函数封装适合页面有多个tab切换,需要注意的在获取的li标签和span标签对象时,必须将对应div对象作为参数传入 ...
- JS 抖动函数封装
原生JS实现封装的抖动函数框架 <style> ul{ margin-top: 100px; } li { float: left; margin-left: 20px; position ...
- js时间函数
时间 new Date() 获取时间,可以理解为是系统默认的函数. 从小括号里面获取系统时间日期,相当于在调用系统默认的函数. 年 getFullYear() 注意,有Full. 月 getMonth ...
- JS 时间函数 / 格式化时间戳
处理时间主要使用时间对象 Date , 其提供两个静态方法 Date.now() //获得当前时间戳 Date.parse() //将字符串转化成时间戳 创建对象 new Date(); // 返回当 ...
- 兼容主流浏览器的js原生函数封装
1.获取和修改垂直滚动条的滚动距离 //获取滚动条滚动距离function getScrollTop(){ var fromTop=document.documentElement.scrollTop ...
- js getByClass函数封装
function getByClass(oParent, sClass) { var aEle=oParent.getElementsByTagName('*'); var aResult=[]; v ...
- js继承函数封装
function extend(subClass,superClass) { //初始化一个中间空对象,为了转换主父类关系 var F = function() {}; F.prototype = s ...
随机推荐
- .NET Lambda
Lambda概述 lambda 表达式是一个可用于创建委托或表达式树类型的匿名函数. 通过使用 lambda 表达式,可以可作为参数或返回编写本地函数,该函数调用的值. Lambda 表达式 ...
- (转)EClipse插件推荐
http://www.importnew.com/4707.html 来自非营利性Eclipse基金会的Eclipse IDE以其插件生态系统著称.Eclipse市场拥有海量插件可供下载,你可以通过插 ...
- 51nod1072(wythoff 博弈)
题目链接: http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1072 题意: 中文题诶~ 思路: 博弈套路是有的, 找np局 ...
- 开发Visual Studio 插件
新建项目,在其他项目类型中找到扩展性,然后新建Visual Studio外接程序,VS中没有这个要安装SDK,http://yunpan.cn/cd27eNczKREwd (提取码:ab29)去下载 ...
- python+selenium 简单尝试
前言 selenium是一种自动化测试工具,简单来说浏览器会根据写好的测试脚本自动做一些操作. 关于自动化测试,一开始接触的是splinter,但是安装的时候发现它是基于selenium的,于是打算直 ...
- 3.使用OGG进程进行初始化数据
开始初始化数据的时候要满足下面的条件: 1.disable掉目标段表的外键约束 2.disable掉目标端表的触发器 3.删除目标段表的索引,加快初始化速度 4.目标端表结构创建完成 源端配置初始化抽 ...
- Jetty官方文档翻译
最近在学习Jetty,没有找到合适的资料,所有只能看官方文档了,但是只有英文的,想着自己翻译着学也是学还不如把学习的过程放到网上,也可以给需要的人看,英文水平毕竟有限,也是用有道翻译着来的,不过也加了 ...
- Mybatis关联查询(嵌套查询)
上一篇文章介绍了基于Mybatis对数据库的增.删.改.查.这一篇介绍下关联查询(join query). 三张表:user article blog 表的存储sql文件: /* Navicat My ...
- 网络科学 - 社区发现 Community structure and detection及其几个实现工具
首先什么是社区(Community structure)呢?其实并不是指一个网络相互连接的部分,而是一个网络中链接“紧密的部分”,至于怎么定义紧密就有很多方法了. 社区发现算法可以参考下面的博客:博客 ...
- Hadoop 大数据第一天
大数据第一天 1.Hadoop生态系统 1.1 Hadoop v1.0 架构 MapReduce(用于数据计算) HDFS(用于存储数据) 1.2 Hadoop v2.0 架构 MapReduce(用 ...