JS中字符转日期
var remindTime = "2008-04-02 10:08:44";
直接new Date(remindTime ) 即可。
1.比较常用的方法,但繁琐:
主要使用Date的构造方法:Date(int year , int month , int day)
<script> var str1 = "2009-8-9"; var arr1 = str1.split("-"); var date1 = new Date(arr1[0],parseInt(arr1[1])-1,arr1[2]); var str2 = "2009-8-4"; var arr2 = str2.split("-"); var date2 = new Date(arr2[0],parseInt(arr2[1])-1,arr2[2]); alert(date1>date2);//true </script>
2.简便方法:
var str = "2005-12-15"; var d = new Date(str.replace(/-/g, "/"));
/-/g是js的正则表达式,匹配划线的 re = /pattern/[flags] 用 "/ " 字符分隔模式 g (全文查找出现的所有 pattern) i (忽略大小写) m (多行查找)
Example:
<script> var s = "2010-09-11"; var s1 = "2010-09-12"; var d = new Date(s.replace(/-/g,"/")); var d1 = new Date(s1.replace(/-/g,"/")); var m = (d1.getTime()-d.getTime())/(1000*60*60); alert(m); //24 </script>
JS比较时间:
<script language="JavaScript"> //时间对比函数,如果a>b返回1,如果a<b返回-1,相等返回0 function comptime(a,b) { var dateA = new Date("1900/1/1 " + a); var dateB = new Date("1900/1/1 " + b); if(isNaN(dateA) || isNaN(dateB)) return null; if(dateA > dateB) return 1; if(dateA < dateB) return -1; return 0; } var timeStart = "3:20"; var timeEnd = "2:11"; if(comptime(timeStart,timeEnd) != -1) alert("开始时间必须小于结束时间!"); </script>
----------------------------------------------------------------------------------------------------------------------
1、获取几天后时间的几种方法:
(本来考虑用Calendar方法,后来才发现js中根本无法使用Calendar)
var dt = new Date(); lont time = dt.valueOf() //返回1970到现在的毫秒数 Long time = dt.getTime();//这就是距离1970年1月1日0点0分0秒的毫秒数 Lont time = System.currentTimeMillis());//与上面的相同 alert(new Date(1000*60*60*24 + dt.valueOf())) alert(new Date(1000*60*60*24 + date.getTime())) //一天后的日期
抽离为方法:
var DAY = 1000*60*60*24; Date.prototype.addDays = function(num){ return new Date((num*DAY)+this.valueOf()); } window.onload=function(){ var dt = new Date(); alert(dt.addDays(2)); }
此处注意new Date().valueOf()也可获得毫秒数,这个以前根本都没用过,呵呵
2、date类型转Str类型:
//var mths = ["JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC"]; //var WEEKs =["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday","Saturday"]; //var WEKs = [ "SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT" ];
1、常用方法
//日期转Str function toDDMMMYYYY(date) { var d = new Date(date.getTime()); var dd = d.getDate() < 10 ? "0" + d.getDate() : d.getDate().toString(); var mmm = mths[d.getMonth()]; var yyyy = d.getFullYear().toString(); //2011 //var YY = YYYY.substr(2); // 11 return dd + mmm + yyyy; } function toDDMMMYY(date) { var d = toDDMMMYYYY(date); return d.substring(0, 5) + d.substring(7, 9); }
这种方法限制死了最后的Str的格式,想要灵活使用,可用下面这种方法:
2、自己定义格式:
Date.prototype.parseStr = function(format) { var YYYY = this.getFullYear(); //2011 var YY = YYYY.substr(2); // 11 format = format.replaceAll("@YYYY@",YYYY); format = format.replaceAll("@YY@",YY); var M=this.getMonth()+1; var MM=(M<10)?"0"+M:M; var MMM=mths[M - 1]; format=format.replaceAll("@MMM@",MMM); format=format.replaceAll("@MM@",MM); format=format.replaceAll("@M@",M); var D=this.getDate(); var DD=(D<10)?"0"+D:D; format=format.replaceAll("@DD@",DD); format=format.replaceAll("@D@",D); var h=this.getHours(); var hh=(h<10)?"0"+h:h; format=format.replaceAll("@hh@",hh); format=format.replaceAll("@h@",h); var m=this.getMinutes(); var mm=(m<10)?"0"+m:m; format=format.replaceAll("@mm@",mm); format=format.replaceAll("@m@",m); var s=this.getSeconds(); var ss=(s<10)?"0"+s:s; format=format.replaceAll("@ss@",ss); format=format.replaceAll("@s@",s); var dayOfWeek=this.getDay(); format=format.replaceAll("@WEEK@",WEEKs[dayOfWeek]); format=format.replaceAll("@WEK@",WEKs[dayOfWeek]); return format; }
使用时直接这样即可:
//var outdateStr = outdate.parseStr("@DD@-@MMM@-@YYYY@");
此处需注意一点:
js不提供replaceAll方法,只有replace方法 ,用for循环又有效率问题,最好的方法是用正则表达式
String.prototype.replaceAll = function (A,B){ var C=this; for (var i=0;i<C.length;i++){ C=C.replace(A,B); }; return C; }
String.prototype.replaceAll = function(s1,s2){ return this.replace(new RegExp(s1,"gm"),s2); }
自己定义了replaceAll方法后就可以像上面一样用replaceAll了。
js中replace方法:
replace(regexp/substr,replacement)
<script> var str="Visit Microsoft!" alert(str.replace("Microsoft", "W3School")); //alert((str.replace(/Microsoft/, "W3School")); 也可以 </script>
另:
由date求星期:
WEKs[date.getDay()];
相关推荐
js date转String 日期字符串转换
js string转date,js字符串转换成日期,此代码支持将datetime(年月日小时分秒格式)转换为js的Date类型,程序已调试并支持在HTML中运行、代码请见附件。
主要介绍了JS简单实现String转Date的方法,涉及JavaScript字符串与日期相互转换的相关技巧,需要的朋友可以参考下
日期转换,long类型时间转换成string类型
js string转date 通过字符串格式的日期时间转换为时间类型,方便后续的业务处理,例如:时间比较,时间格式化等
您可能感兴趣的文章:sql语句中如何将datetime格式的日期转换为yy-mm-dd格式将WMI中的DateTime类型转换成VBS时间的函数代码LINQ字符串向datetime 转换时失败的处理方法Sql中将datetime转换成字符串的
// 对Date的扩展,将 Date 转化为指定格式的String // 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符, // 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) // 例子: /...
在使用ExtJs开发时会遇到这样的问题,后台传来一个java对象,里面有一个date类型的数据,现在要显示到页面上,我们该如何写才能不用将date转换成string的直接在页面上显示。下面解决办法:例如:在员工查询页面上,...
主要介绍了js表格排序实例分析(支持int,float,date,string四种数据类型),涉及javascript常用的升序、降序及数据类型转换等相关技巧,需要的朋友可以参考下
用于进行各种时间类型的转换,包含多种时间格式类型。其中包含标准W3C格式的XML报文格式时间类型转换。
在上篇文章给大家介绍了js对Date对象的操作的问题(生成一个倒数7天的数组),本篇介绍有关js日期格式化之javascript Date format,本文通过三种方法给大家讲解,具体内容请看下文。 方法一: // 对Date的扩展,将 ...
java 的 String.format() 的 Javascript 实现,增加了支持格式化百分比和后缀-SI,如 120M、30K。 将 Formatter.format() 移植到 javascript 的基本开始。 目前依赖 .toLocaleString() 进行命名日期格式。 请参阅...
把一个日期字符串如“2007-2-28 10:18:30”转换为Date对象: 1: 代码如下: var strArray=str.split(” “); var strDate=strArray[0].split(“-“); var strTime=strArray[1].split(“:”); var a=new Date...
本文实例讲述了javascript转换日期字符串为Date日期对象的方法。分享给大家供大家参考。具体如下: 这里实现把一个日期字符串如“2014-4-28 12:31:45”转换为Date对象: 方法一: 代码如下:var strArray=str.split...
JavaScript时间转换处理函数 /** * 将格式为yyyy-MM-dd hh:mm:ss.S的字符串转为Date * @param dateString 时间字符串 */ function convertToDate(dateString){ return new Date(dateString.replace(/\-/g,"/"))...
// 对Date的扩展,将 Date 转化为指定格式的String // 月(M)、日(d)、小时(H)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符, // 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) // 例子: /...
本文实例讲述了JavaScript将当前时间转换成...Click the button to display the UTC date and time as a string. <button onclick=myFunction()>Try it</button> [removed] function myFunction() { var
Date对象有多种构造函数: new Date() //当前时间 new Date(milliseconds) //距离起始时间1970年1月1日的毫秒数 new Date(datestring) //字符串代表的日期与时间。此字符串可以使用Date.parse()转换,比如”Jannuary...
本章包含了所有 JavaScript 中未与任何对象关联的函数。 untaint write 第十四章 LiveConnect 的 Java 包 netscape.javascript.JSObject 方法和静态方法 netscape.javascript.JSException 构造函数 netscape....
getVarDate 方法 返回 Date 对象中的 VT_DATE。 getYear 方法 返回 Date 对象中的年份。 Global 对象 是一个固有对象,目的是将全局方法集中在一个对象中。 global 属性 返回一个 Boolean 值,标记正则表达式使用...