博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JS解析,格式化日期
阅读量:5267 次
发布时间:2019-06-14

本文共 2737 字,大约阅读时间需要 9 分钟。

/* 

  将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 '';  

 

 

<script language="javascript">

var myDate=new Date();

document.write(myDate.getYear().toString()+"<br>");//获取当前年份(2位)

document.write(myDate.getFullYear().toString()+"<br>");//获取当前完整的年份(4位,1970-????)
document.write(myDate.getMonth().toString()+"<br>");//获取当前月份(0-11,0代表1月)
document.write(myDate.getDate().toString()+"<br>");//获取当前日(1-31)
document.write(myDate.getDay().toString()+"<br>");//获取当前星期X(0-6,0代表星期天)
document.write(myDate.getTime().toString()+"<br>");//获取当前时间(从1970-1-1开始的毫秒数)
document.write(myDate.getHours().toString()+"<br>");//获取当前小时数(0-23)
document.write(myDate.getMinutes().toString()+"<br>");//获取当前分钟数(0-59)
document.write(myDate.getSeconds().toString()+"<br>");//获取当前秒数(0-59)
document.write(myDate.getMilliseconds().toString()+"<br>");//获取当前毫秒数(0-999)
document.write(myDate.toLocaleDateString().toString()+"<br>");//获取当前日期
</script>

转载于:https://www.cnblogs.com/cnkenny/archive/2010/11/16/1878794.html

你可能感兴趣的文章
ubuntu下的c/c++环境搭建
查看>>
贪吃蛇的java代码分析(三)
查看>>
Software Defined Networking(Week 2, part 3)
查看>>
用命令 安装/卸载 windows服务(转)
查看>>
Cookie的跨域问题
查看>>
uploadfy 图片/视频上传
查看>>
什么是真正的产品思维
查看>>
点击按钮改变多张图片
查看>>
vim的最最基本配置
查看>>
Docker在windows7上的安装
查看>>
Ubuntu录制gif动态图
查看>>
asp.net调试提示信息:“生成下面的模块时,启用了优化或没有调试信息”
查看>>
luogu P1008 三连击
查看>>
【3】Git命令
查看>>
tinyxml开源库的基本用法
查看>>
软件项目管理第1次作业:四则运算生成器
查看>>
hdu5387 Clock
查看>>
Spring4
查看>>
C# Winform 跨线程更新UI控件常用方法汇总
查看>>
如何单独编译Android源代码中的模块
查看>>