DateFormat = {
format : function(date,formatter){
if(date==null){return null;};
if(formatter==null){formatter = "yyyy-MM-dd";};
var year = date.getYear().toString();
var month = (date.getMonth() + 1).toString();
var day = date.getDate().toString();
var hours = date.getHours().toString();
var minutes = date.getMinutes().toString();
var seconds = date.getSeconds().toString();
var yearMarker = formatter.replace(/[^y]/g,'');
var monthMarker = formatter.replace(/[^M]/g,'');
var dayMarker = formatter.replace(/[^d]/g,'');
var hoursMarker = formatter.replace(/[^h]/g,'');
var minutesMarker = formatter.replace(/[^m]/g,'');
var secondsMarker = formatter.replace(/[^s]/g,'');
if(yearMarker.length == 2){year = year.substring(2,4);};
if(monthMarker.length > 1 && month.length==1){month = "0" + month;};
if(dayMarker.length > 1 && day.length==1){day = "0" + day;};
if(hoursMarker.length > 1 && hours.length==1){hours = "0" + hours;};
if(minutesMarker.length > 1 && minutes.length==1){minutes = "0" + minutes;};
if(secondsMarker.length > 1 && seconds.length==1){seconds = "0" + seconds;};
if(yearMarker.length>0){formatter = formatter.replace(yearMarker,year);}
if(monthMarker.length>0){formatter = formatter.replace(monthMarker,month);};
if(dayMarker.length>0){formatter = formatter.replace(dayMarker,day);};
if(hoursMarker.length>0){formatter = formatter.replace(hoursMarker,hours);};
if(minutesMarker.length>0){formatter = formatter.replace(minutesMarker,minutes);};
if(secondsMarker.length>0){formatter = formatter.replace(secondsMarker,seconds);};
return formatter;
},
parse : function(dateString,formatter){
var today = new Date();
if(dateString==null){return today;};
if(formatter==null){formatter = "yyyy-MM-dd";};
var yearMarker = formatter.replace(/[^y]/g,'');
var monthMarker = formatter.replace(/[^M]/g,'');
var dayMarker = formatter.replace(/[^d]/g,'');
var hoursMarker = formatter.replace(/[^h]/g,'');
var minutesMarker = formatter.replace(/[^m]/g,'');
var secondsMarker = formatter.replace(/[^s]/g,'');
var yearPosition = formatter.indexOf(yearMarker);
var yearLength = yearMarker.length;
var year = parseInt( dateString.substring(yearPosition ,yearPosition + yearLength) );
if(isNaN(year)){
year = today.getYear();
}else{
if( yearLength == 2){
if(year < 50 ){
year += 2000;
}else{
year += 1900;
};
};
};
var monthPosition = formatter.indexOf(monthMarker);
var month = parseInt( dateString.substring(monthPosition,monthPosition + monthMarker.length) );
if(isNaN(month)){
month = today.getMonth();
}else{
month-=1
};
var dayPosition = formatter.indexOf(dayMarker);
var day = parseInt( dateString.substring( dayPosition,dayPosition + dayMarker.length ) );
if(isNaN(day)){
day = today.getDate();
}else{
};
var hoursPosition = formatter.indexOf(hoursMarker);
var hours = parseInt( dateString.substring( hoursPosition,hoursPosition + hoursMarker.length ) );
if(isNaN(hours)){
hours = 0;
};
var minutesPosition = formatter.indexOf(minutesMarker);
var minutes = parseInt( dateString.substring( minutesPosition,minutesPosition + minutesMarker.length ) );
if(isNaN(minutes)){
minutes = 0;
};
var secondsPosition = formatter.indexOf(secondsMarker);
var seconds = parseInt( dateString.substring( secondsPosition,secondsPosition + secondsMarker.length ) );
if(isNaN(seconds)){
seconds = 0;
};
return new Date(year,month,day, hours,minutes,seconds);
}
};
//将一个 Date 格式化为日期/时间字符串。
alert( DateFormat.format(new Date(),'yyyy年MM月dd日') );
//从给定字符串的开始分析文本,以生成一个日期。
alert( DateFormat.parse('20100317','yyyyMMdd') );
分享到:
相关推荐
javascript格式化日期,将日期型转为字符串,字符串转为日期型,格式自由。
JavaScript时间格式化插件,返回指定字符串
本文给大家汇总介绍了javascript格式化日期时间的几种常用方法,个人对最后一种个性化输出时间比较有兴趣,基本上只要项目中能用到都是使用这种,推荐给小伙伴们。
感谢某前辈写的JS格式化日期和时间JS代码,很好很强大!!! 前言: js虽然提供了各种获取时间Date对象的不同属性方法,如:getDate 方法 | getDay 方法 | getFullYear 方法 | getHours 方法 … … 等等,但是却...
JavaScript - 格式化日期时间 思路代码:demo.html 完整代码:index.html 相关教程,请前往我的博客查看。
javascript的TRIM函数和日期时间格式化函数 如 var d = new Date().format('yyyy-MM-dd hh:mm:ss');
主要介绍了javascript日期格式化方法,实例总结了JavaScript针对日期与时间的格式化操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
js通用日期格式化工具,直接引用该工具类就可以使用,方便快捷,建议大家收藏此工具类,该工具很好的解决了前端页面显示日期格式问题
js 语言的格式化日期格式的类。很好用的。
全面兼容的javascript时间格式化函数,实用总结! 代码如下: <!DOCTYPE html> <html> <head> <meta charset=”utf-8″ /> <meta http-equiv=”Content-Type” content=”text/html; charset...
Javascript日期格式化在日常开发中还是挺常见的,那么下面就给大家分享Javascript时间格式format函数的两种使用方法示例,一起来看看。 方法一 Date.prototype.pattern=function(fmt) { var o = { "M+" : this....
javascript 精确计算、日期处理、金额格式化
主要介绍了javascript日期格式化示例,需要的朋友可以参考下
javascript中,new Date()得到的是一个国际化时间格式的时间值这在我们使用中文的时候,很不方便,也很难看所以就需要对javascript中的日期时间进行格式化.
javascript中Date format(js日期格式化)方法小结.docx
JavaScript中时间格式化新思路toLocaleString() 目录 1、时间格式化常规思路2、时间格式化toLocaleString() 1、时间格式化常规思路 2、时间格式化toLocaleString() 研究Object对象的时候,看到了 ...
这是一个Javascript版的仿PHP时间格式化函数,使用方法和PHP语言一样,有丰富的模板字符串,替换更自由