格式化Date和分析格式化Date字符串的JS代码


最近打算重构DateChooser控件,使用ASP.NET2.0新特性,不使用HTC以更好支持Cross-browser,先写了个日期格式的JS文件,欢迎大家使用

//Date.js
Date.prototype.format = function(formatter)
{
  if(!formatter || formatter == "")
  {
    formatter = "yyyy-MM-dd";
  }
  var year = this.getYear().toString();
  var month = (this.getMonth() + 1).toString();
  var day = this.getDate().toString();
  var yearMarker = formatter.replace(/[^y|Y]/g,'');
  if(yearMarker.length == 2)
  {
    year = year.substring(2,4);
  }  
  var monthMarker = formatter.replace(/[^m|M]/g,'');
  if(monthMarker.length > 1)
  {
    if(month.length == 1)
    {
      month = "0" + month;
    }
  }  
  var dayMarker = formatter.replace(/[^d]/g,'');
  if(dayMarker.length > 1)
  {
    if(day.length == 1)
    {
      day = "0" + day;
    }
  }  
  return formatter.replace(yearMarker,year).replace(monthMarker,month).replace(dayMarker,day);  
}
  
Date.parseString = function(dateString,formatter)
{
  var today = new Date();
  if(!dateString || dateString == "")
  {
    return today;
  }
  if(!formatter || formatter == "")
  {
    formatter = "yyyy-MM-dd";
  } 
  var yearMarker = formatter.replace(/[^y|Y]/g,''); 
  var monthMarker = formatter.replace(/[^m|M]/g,''); 
  var dayMarker = formatter.replace(/[^d]/g,'');
  var yearPosition = formatter.indexOf(yearMarker);
  var yearLength = yearMarker.length;
  var year = dateString.substring(yearPosition ,yearPosition + yearLength) * 1;
  if( yearLength == 2)
  {
    if(year < 50 )
    {
      year += 2000;
    }
    else
    {
      year += 1900;
    }
  }
  var monthPosition = formatter.indexOf(monthMarker);
  var month = dateString.substring(monthPosition,monthPosition + monthMarker.length) * 1 - 1;
  var dayPosition = formatter.indexOf(dayMarker);
  var day = dateString.substring( dayPosition,dayPosition + dayMarker.length )* 1;
  return new Date(year,month,day);
}

  使用方法(只支持日期部分,当然要先引用<script src="THIN/ClientFiles/Date.js" type="text/javascript"></script>):

alert(Date.parseString(new Date().format("MM月dd日yy年"),"MM月dd日yy年"));
var today = new Date();
var todayString = today.format("yyyy-MM-dd");
alert(todayString);
var parsedDate = Date.parseString(todayString);
alert(parsedDate);

  Birdshome写过URL的工具类,忘了有没有写Date的了



相关阅读:
图片展示效果 鼠标经过变大图,支持FF
DB2未来版“Viper 2” ——为IT敏捷加速
JavaScript 题型问答有答案参考
php下intval()和(int)转换使用与区别
网页制作中的水平居中和垂直居中解决方法集合
oracle10g 控制台启动端口修改
ASP.NET Routing对请求的处理方式
Dreamweaver中预览PHP和ASP
基于mysql的论坛(7)
SQLPLUS命令的使用大全
CSS教程:简单理解em
php数组函数序列之array_combine() - 数组合并函数使用说明
使用ASP在IIS创建WEB站点的函数
Discuz!安装提示“include_path='.;c:\php5\pear'”错误的解决方法
快速导航
PHP MySQL HTML CSS JavaScript MSSQL AJAX .NET JSP Linux Mac ASP 服务器 SQL jQuery C# C++ java Android IOS oracle MongoDB SQLite wamp 交通频道 作文范文 初一作文我们的自由 人大代表视察向政府工作汇报 《居里夫人传》--读后感 洞房之夜 傻大哥却被美女嫂子给废了 养成良好的行为习惯,做合格的小学生 了不起的盖茨比读后感 小学六年级作文500字:心愿 真的爱你,答应你的事现在就去做,而不是给你时间表 一辈子的眼泪 三国新传之曹操广交好友600字 县委常委实践科学发展观经验做法 绽放的蒲公英. 发生在公交车上的一件事作文700字 一触即发的伤 读蓝鲸的眼睛有感 践行党的群众路线必须落实以生为本的核心理念 关于教师节的作文尊师,一切的根源800字 傻傻的爱 赏·荷风映阳 熊顿:活着,即使没有明天 ps3好还是psv好 相遇一瞬,相守一生 初中初三作文800字:大自然的气息 爱就在身边作文1000字 无忧的童年作文600字 对世界有感 有关新年古诗:元日 欢迎小生命的到来 至少还有我们这样一群人 100字写感恩的作文:感恩父母和老师 身边最美的爷爷奶奶 医生工作论职报告 绿色记事本作文600字 鸡年新春祝福语 俞敏洪:不要看轻自己 微笑,真美 散文随笔: 打造区域性国际金融中心 关于讲文明的演讲稿 可爱的小公鸡作文450字 妹妹与蜥蜴 福特:几度轮回 新加坡教师节的英语作文 我宁可 孤独地游走,流离在空城之巅 凉秋暖色 初中生期末评语 收获幸福:降低幸福沸点 消失的岁月时光 女人应该尝试几次独自旅行

Copyright © 2016 phpStudy |