当前位置: 首页 > news >正文

javascript格式化日期

  将String类型解析为Date类型.

  parseDate('2006-1-1') return new Date(2006,0,1)

  parseDate(' 2006-1-1 ') return new Date(2006,0,1)

  parseDate('2006-1-1 15:14:16') return new Date(2006,0,1,15,14,16)

  parseDate(' 2006-1-1 15:14:16 ') return new Date(2006,0,1,15,14,16);

  parseDate('2006-1-1 15:14:16.254') return new Date(2006,0,1,15,14,16,254)

  parseDate(' 2006-1-1 15:14:16.254 ') return new Date(2006,0,1,15,14,16,254)

  parseDate('不正确的格式') retrun null

*/

function parseDate(str){  

if(typeof str == 'string'){  

var results = str.match(/^ *(\d{4})-(\d{1,2})-(\d{1,2}) *$/);  

if(results && results.length>3)  

return new Date(parseInt(results[1]),parseInt(results[2]) -1,parseInt(results[3]));   

    results = str.match(/^ *(\d{4})-(\d{1,2})-(\d{1,2}) +(\d{1,2}):(\d{1,2}):(\d{1,2}) *$/);  

if(results && results.length>6)  

return new Date(parseInt(results[1]),parseInt(results[2]) -1,parseInt(results[3]),parseInt(results[4]),parseInt(results[5]),parseInt(results[6]));   

    results = str.match(/^ *(\d{4})-(\d{1,2})-(\d{1,2}) +(\d{1,2}):(\d{1,2}):(\d{1,2})\.(\d{1,9}) *$/);  

if(results && results.length>7)  

return new Date(parseInt(results[1]),parseInt(results[2]) -1,parseInt(results[3]),parseInt(results[4]),parseInt(results[5]),parseInt(results[6]),parseInt(results[7]));   

  }  

return null;  

}  

 

/*

  将Date/String类型,解析为String类型.

  传入String类型,则先解析为Date类型

  不正确的Date,返回 ''

  如果时间部分为0,则忽略,只返回日期部分.

*/

function formatDate(v){  

if(typeof v == 'string') v = parseDate(v);  

if(v instanceof Date){  

var y = v.getFullYear();  

var m = v.getMonth() + 1;  

var d = v.getDate();  

var h = v.getHours();  

var i = v.getMinutes();  

var s = v.getSeconds();  

var ms = v.getMilliseconds();     

if(ms>0) return y + '-' + m + '-' + d + ' ' + h + ':' + i + ':' + s + '.' + ms;  

if(h>0 || i>0 || s>0) return y + '-' + m + '-' + d + ' ' + h + ':' + i + ':' + s;  

return y + '-' + m + '-' + d;  

  }  

return '';  

From: http://gwbasic.javaeye.com/blog/36904

=============================

 

程序代码

<SCRIPT LANGUAGE="JavaScript">
<!--
    Date.prototype.format = function(format)  
{  
   var o = {  
     "M+" : this.getMonth()+1, //month  
     "d+" : this.getDate(),    //day  
     "h+" : this.getHours(),   //hour  
     "m+" : this.getMinutes(), //minute  
     "s+" : this.getSeconds(), //second  
     "q+" : Math.floor((this.getMonth()+3)/3), //quarter  
     "S" : this.getMilliseconds() //millisecond  
   }  
   if(/(y+)/.test(format)) format=format.replace(RegExp.$1,  
     (this.getFullYear()+"").substr(4 - RegExp.$1.length));  
   for(var k in o)if(new RegExp("("+ k +")").test(format))  
     format = format.replace(RegExp.$1,  
       RegExp.$1.length==1 ? o[k] :   
         ("00"+ o[k]).substr((""+ o[k]).length));  
   return format;  
}
function rain()
{
obj1 = new Date().format("yyyy-MM-dd hh:mm:ss");
obj2 = new Date().format("yyyy-MM-dd");
obj3 = new Date().format("yyyy/MM/dd");
obj4 = new Date().format("MM/dd/yyyy");
alert("obj1="+obj1+ "/n  obj2="+obj2 +  "/n  obj3="  +obj3+  "/n  obj4="  +obj4);
}
//-->
</SCRIPT>

From: http://www.jacken.com.cn/Web-Design/Javascript/2009-03-11/Javascript_Article_28024.html

=============================

相关文章:

  • 取消开机硬盘检测
  • span - HTML元素
  • 数据库备份相关
  • 微信小程序正式发布,符合你的预期么?
  • Community Server 2008.5 SP2发布啦
  • Microsoft Office Communicator 2007R2中的彩蛋!!
  • git相关资料
  • 识人、用人、激人、留人、斩人
  • 逻辑思考之选择限定范围内的数量插入不指定位置并且具有替换功能
  • 一些零散知识收集
  • 伪造服务钓鱼工具Ghost Phisher
  • .net 生成二级域名
  • Hibernate JPA简介
  • 脚本:监控临时表空间使用率
  • WINDOWS命令和批处理
  • canvas 绘制双线技巧
  • HTTP中的ETag在移动客户端的应用
  • LeetCode29.两数相除 JavaScript
  • React16时代,该用什么姿势写 React ?
  • SQL 难点解决:记录的引用
  • 多线程 start 和 run 方法到底有什么区别?
  • 漫谈开发设计中的一些“原则”及“设计哲学”
  • 前端路由实现-history
  • 延迟脚本的方式
  • Java数据解析之JSON
  • 摩拜创始人胡玮炜也彻底离开了,共享单车行业还有未来吗? ...
  • ###项目技术发展史
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • (4)STL算法之比较
  • (env: Windows,mp,1.06.2308310; lib: 3.2.4) uniapp微信小程序
  • (SpringBoot)第七章:SpringBoot日志文件
  • (动态规划)5. 最长回文子串 java解决
  • (二)c52学习之旅-简单了解单片机
  • (附源码)spring boot智能服药提醒app 毕业设计 102151
  • (删)Java线程同步实现一:synchronzied和wait()/notify()
  • (十)c52学习之旅-定时器实验
  • (十八)用JAVA编写MP3解码器——迷你播放器
  • (算法)Game
  • (转)es进行聚合操作时提示Fielddata is disabled on text fields by default
  • (状压dp)uva 10817 Headmaster's Headache
  • .CSS-hover 的解释
  • .NET C#版本和.NET版本以及VS版本的对应关系
  • .net core 依赖注入的基本用发
  • .NET Core中Emit的使用
  • /deep/和 >>>以及 ::v-deep 三者的区别
  • ??在JSP中,java和JavaScript如何交互?
  • @PreAuthorize注解
  • @Resource和@Autowired的区别
  • [ Algorithm ] N次方算法 N Square 动态规划解决
  • [20150904]exp slow.txt
  • [BZOJ 4598][Sdoi2016]模式字符串
  • [C#]winform使用引导APSF和梯度自适应卷积增强夜间雾图像的可见性算法实现夜间雾霾图像的可见度增强
  • [Everyday Mathematics]20150130
  • [Flutter]WindowsPlatform上运行遇到的问题总结
  • [iOS]iOS获取设备信息经常用法