shy2850
2015-04-09 08:22:51
证
javascript日期时间操作
;(function (root, name ,factory) {
if (typeof define === 'function' && define.amd) {
define(name, factory);
} else {
root.DateUtil = factory();
}
}(this,"dateUtil",function(require, exports, module) {
//两位整数格式化,小于10高位补零
var fmt_num = function(n){
return n < 10 ? "0" + n : n;
};
var _ = {
reg : /([yMdhms\$]{1,2})/g,
days :["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],
yy : function(d){return d.getFullYear()},
M : function(d){return 1+d.getMonth()},
MM : function(d){return fmt_num(1+d.getMonth())},
d : function(d){return d.getDate()},
dd : function(d){return fmt_num(d.getDate())},
h : function(d){return d.getHours()},
hh : function(d){return fmt_num(d.getHours())},
m : function(d){return d.getMinutes()},
mm : function(d){return fmt_num(d.getMinutes())},
s : function(d){return d.getSeconds()},
ss : function(d){return fmt_num(d.getSeconds())},
$ : function(d){return this.days[d.getDay()]},
$$ : function(d){return this.days[d.getDay()]}
};
return {
format : function(date,format,rule){
var m = {};
for(var k in _){
if( rule ){
m[k] = rule[k] || _[k]
}else{
m[k] = _[k]
}
}
return format.replace(_.reg,function(match,key){
return m[key](date);
});
},
parse : function(str,format){
format = format || "yy/MM/dd hh:mm:ss"; //没有定义格式的话, 使用默认的格式
var map = {}, nums = str.match( /\d{1,4}/g ), fmts = format.match( _.reg );
for (var i = 0; i < fmts.length; i++) {
map[ fmts[i] ] = nums[i];
}; //for循环完成格式和数据的对应关系。
//完成替换并且返回创建的Date结果。
return new Date( "yy/MM/dd hh:mm:ss".replace(_.reg,function(match,key){
return map[key] || 0;
}) );
}
}
}));
TEST: test.js
var DU = require("./").DateUtil;
var d = new Date(),
str;
console.log( 'Format: "yy年M月d日" \t-' + DU.format(d,"yy年M月d日") );
console.log( 'Format: "yy年MM月dd日 $" \t-' + DU.format(d,"yy年MM月dd日 $") );
console.log( 'Format: "yy年MM月dd日 $" \t-' + DU.format(d,"yy年MM月dd日 $",{days:"周日,周一,周二,周三,周四,周五,周六".split(",")}) );
console.log( 'Format: "yy年M月d日 h:m:s" \t-' + DU.format(d,"yy年M月d日 h:m:s") );
console.log( 'Format: "yy年MM月dd日 hh:mm:ss"\t-' + (str = DU.format(d,"yy年MM月dd日 hh:mm:ss") ) );
console.log( 'Parse: "' + str + '":\n\t' + DU.parse(str, "yy年MM月dd日 hh:mm:ss") );
AMD 引入支持 amd.html
require.config({
paths:{
"dateUtil": "index"
}
});
require(["dateUtil"],function(DateUtil){
var
DU = DateUtil,
pre = document.getElementById('pre'),
time = document.getElementById('time'),
log = function(s) {
pre.innerHTML += s + "\n";
};
var
d = new Date(),
str;
setInterval(function(){
time.innerHTML = DU.format(new Date,"yy年MM月dd日 hh:mm:ss $");
},300);
log( 'Format: "yy年M月d日" \t-' + DU.format(d,"yy年M月d日") );
log( 'Format: "yy年MM月dd日 $" \t-' + DU.format(d,"yy年MM月dd日 $") );
log( 'Format: "yy年M月d日 h:m:s" \t-' + DU.format(d,"yy年M月d日 h:m:s") );
log( 'Format: "yy年MM月dd日 hh:mm:ss"\t-' + (str = DU.format(d,"yy年MM月dd日 hh:mm:ss") ) );
log( 'Parse: "' + str + '":\n\t' + DU.parse(str, "yy年MM月dd日 hh:mm:ss") );
});
猜你喜欢
请下载代码后再发表评论
文件名:date-util.rar,文件大小:2.541K
下载
- /
- /date-util
- /date-util/amd.html
- /date-util/index.js
- /date-util/simple.html
- /date-util/test.js
- /date-util
相关代码
- 使用java和javascript判断当前浏览者的操作系统
- 证 javascript简单调色板工具
- js进度条(原创可用于学习)
- {Tonfay}[js动态报表][兼容IE6+/火狐/360/谷歌/等各大浏览器][可手动设置间隔时间读取数据/并且显示在图表上]
- 证 5个小javascript特效实例
- 正则表达式的JS验证
- 证 js canvas无限生成国风水墨画
- js打印,预览的功能.希望采纳.
- 证 JavaScript写的贷款计算器源代码下载
- 证 纯js开发的时钟,带秒钟
- 证 js万年历查询设置工作日前端源代码分享
- 仿淘宝 css,js 等静态资源合并压缩输出的 jsp 脚本 combo.jsp





最近浏览
