Date.prototype.pattern=function(fmt) {
//alert(this.getFullYear());
fmt=fmt.toUpperCase();
var o = {
"MM" : this.getMonth(), //月份
"DD" : this.getDate(), //日
"HH24" : this.getHours(), //小时
"HH" : this.getHours()%12 == 0 ? 12 : this.getHours()%12, //小时
"MI" : this.getMinutes(), //分
"SSS" : this.getMilliseconds(), //毫秒
"SS" : this.getSeconds(), //秒
"QQ" : Math.floor((this.getMonth()+3)/3), //季度
"YYYY":this.getFullYear()<1911?this.getFullYear()+1911:this.getFullYear(), //國際元年
"YYY":this.getFullYear()>1911?this.getFullYear()-1911:this.getFullYear() //台灣民國年
};
//if(/(y+)/.test(fmt)){
// fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));
//}
//if(/(E+)/.test(fmt)){
// fmt=fmt.replace(RegExp.$1, ((RegExp.$1.length>1) ? (RegExp.$1.length>2 ? "/u661f/u671f" : "/u5468") : "")+week[this.getDay()+""]);
//}
for(var k in o){
if(new RegExp("("+ k +")").test(fmt)){
var needLength=RegExp.$1=="HH24"?2:RegExp.$1.length;
//alert("RegExp.$1:"+k +" o[k]:"+o[k].toString().length+" :"+(RegExp.$1.length==o[k].toString().length)+" >"+("00"+ o[k]).substr(-needLength));
fmt = fmt.replace(RegExp.$1, (needLength==o[k].toString().length) ? (o[k]) : (("00"+ o[k]).substr(-needLength)));
}
}
return fmt;
};

String.prototype.toDate=function(){
var year=0,month=0,day=0,hour=0,min=0,sec,mill=0;
var dateflag=false,timeflag=false;
var _value = this.replace(/(^\s*)|(\s*$)/g,"");
//console.log(_value);

var arr=_value.split(/\s/);
if(arr[0])
{
dateflag=true;

var _date=arr[0];
do
{
_date=_date.replace(/[-\/]/,"");

}while(_date.match(/[-\/]/));
if(_date.length!=7&&_date.length!=8)
{
throw 'get the date info is error, ther value is:'+_date;
}
console.log(arr[0]);
year=_date.substring(0,_date.length-4);
month=_date.substring(_date.length-4,_date.length-2);
day=_date.substr(_date.length-2);
console.log("year:"+year +" month:"+month+" day:"+day);

}

if(arr[1])
{
timeflag=true;
console.log(arr[1]);

var _time=arr[1].split(":",3);

hour=_time[0];
min=_time[1];
if(_time[2].indexOf('.')>-1)
{
sec=_time[2].split('.')[0];
mill=_time[2].split('.')[1];
}
else
{
sec=_time[2];
}

console.log("hour:"+hour +" min:"+min+" sec:"+sec+" mill:"+mill);
}

if(dateflag&&!timeflag)
{
var myDate=new Date();
myDate.setFullYear(year);
myDate.setMonth(month);
myDate.setDate(day);
return myDate;
}
else if(dateflag&&timeflag)
{
var myDate=new Date(year,month,day,hour,min,sec);
myDate.setFullYear(year);
myDate.setMonth(month);
myDate.setDate(day);
myDate.setHours(hour);
myDate.setMinutes(min);
myDate.setSeconds(sec);
myDate.setMilliseconds(mill);
return myDate;
}
else
{
throw 'conver string to date have error';
}
}

//var myDate="107-01-01 12:01:01".toDate().pattern();
var myDate="1999-01-01 23:03:04";
document.write(myDate+"<br />")
document.write(myDate.toDate().pattern("YYY-MM-DD HH:MI:SS"));

</script>

js string to date的更多相关文章

  1. JS中String类型转换Date类型 并 计算时间差

    JS中String类型转换Date类型 1.比较常用的方法,但繁琐,参考如下:主要使用Date的构造方法:Date(int year , int month , int day)<script& ...

  2. JS日期去杠,日期转换String转Date

    1.巧妙使用split()和join()替换字符串var str = '2014-05-05';var newstr = str.split('-').join("");split ...

  3. String和Date、Timestamp之间的转换

    一.String与Date(java.util.Date)互转 1.1 String -> Date String dateStr = "2010/05/04 12:34:23&quo ...

  4. 熟用js中的Date

    js中的Date类型是使用UTC(国际协调时间)自1970年1月1日午夜(零时)开始,经过的毫秒数来保存日期. 1. 创建日期对象  ---> 获得当前日期和时间  var now = new ...

  5. js动态获取当前系统时间+js字符串转换为date日期对象

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  6. Java:String和Date、Timestamp之间的转

    Java:String和Date.Timestamp之间的转 一.String与Date(java.util.Date)互转 1.1 String -> Date String dateStr  ...

  7. Java:String和Date、Timestamp之间的转换

    一.String与Date(java.util.Date)互转 1.1 String -> Date String dateStr = "2016-9-28 12:25:55" ...

  8. String与Date、Timestamp互转

    一.String与Date(java.util.Date)互转 1.1 String -> Date String dateStr = "2010/05/04 12:34:23&quo ...

  9. spring mvc绑定对象String转Date解决入参不能是Date的问题

    使用spring的mvc,直接将页面参数绑定到对象中,对象中有属性为Date时会报错,此时需要处理下. 同样的,其他的需要处理的类型也可以用这种方法. 在controller中加入代码 @InitBi ...

随机推荐

  1. linux查看进程启动的时间点

    ps -ef |grep xxx  # 先查找进程pid ps -wo pid,lstart -p {pid}

  2. ionic3安卓平台引用高德地图

    1.前置条件 第一步,注册高德开发者:第二步,去控制台创建应用:第三步,获取Key. 2.打开src目录下的index.html, 在head标签中添加以下代码,引入js: <script ty ...

  3. 【fork/join】java并发编程-fork/join示例

    package com.chinamobile.epic.tako.common.graphite.query.sync.impl; import com.google.common.collect. ...

  4. servlet cdi analysis

    CDI中最令人兴奋的功能是允许每个人在Java EE平台中编写强大的扩展性功能,甚至于改变其核心本身.这些扩展性功能是可以完全移植到任何支持CDI的环境中. CDI的一些主要特性 1.类型安全:CDI ...

  5. 代码管理工具libgit2sharp与sharpsvn

    在使用libgit2sharp 开发时出现: LibGit2Sharp.LibGit2SharpException: too many redirects or authentication repl ...

  6. PHP chdir函数:改变当前的目录

    PHP chdir函数的作用是改变当前的目录,这里主机吧详细介绍下chdir函数的用法,并列举使用chdir函数的例子. chdir定义和用法: chdir() 函数改变当前的目录. chdir实例: ...

  7. python中class的序列化和反序列化

    对于类的序列化:将类的成员变量名和数据作为一对键值对存储在物理内存中,例如 class A(object): def __init__(self): self.a = o self.b = 1 sel ...

  8. django之 F&Q 聚合与分组

    F 使用查询条件的值,专门取对象中某列值的操作,可以对同一个表中的两个列进行比较 from django.db.models import F ret=models.Book.objects.filt ...

  9. gopath环境变量设置

    #在国内镜像下载二进制包 wget -c  http://www.golangtc.com/static/go/go1.4.1.linux-amd64.tar.gz tar -C /usr/local ...

  10. ajax单删

    通过点击事件获取相应数据的id,将id传到的控制器,根据id执行删除的sql语句,执行官删除:同时ajax的有点就是快捷方便,无刷新,增强用户的体验. <?php namespace app\i ...