js字符串转日期型
/** year : /yyyy/ */
var _y4 = "([0-9]{4})";
/** year : /yy/ */
var _y2 = "([0-9]{2})";
/** index year */
var _yi = -1;
/** month : /MM/ */
var _M2 = "(0[1-9]|1[0-2])";
/** month : /M/ */
var _M1 = "([1-9]|1[0-2])";
/** index month */
var _Mi = -1;
/** day : /dd/ */
var _d2 = "(0[1-9]|[1-2][0-9]|30|31)";
/** day : /d/ */
var _d1 = "([1-9]|[1-2][0-9]|30|31)";
/** index day */
var _di = -1;
/** hour : /HH/ */
var _H2 = "([0-1][0-9]|20|21|22|23)";
/** hour : /H/ */
var _H1 = "([0-9]|1[0-9]|20|21|22|23)";
/** index hour */
var _Hi = -1;
/** minute : /mm/ */
var _m2 = "([0-5][0-9])";
/** minute : /m/ */
var _m1 = "([0-9]|[1-5][0-9])";
/** index minute */
var _mi = -1;
/** second : /ss/ */
var _s2 = "([0-5][0-9])";
/** second : /s/ */
var _s1 = "([0-9]|[1-5][0-9])";
/** index month */
var _si = -1;
var regexp;
function getDate(dateString, formatString) {
if (validateDate(dateString, formatString)) {
var now = new Date();
var vals = regexp.exec(dateString);
var index = validateIndex(formatString);
var year = index[0] >= 0 ? vals[index[0] + 1] : now.getFullYear();
var month = index[1] >= 0 ? (vals[index[1] + 1] - 1) : now.getMonth();
var day = index[2] >= 0 ? vals[index[2] + 1] : now.getDate();
var hour = index[3] >= 0 ? vals[index[3] + 1] : "";
var minute = index[4] >= 0 ? vals[index[4] + 1] : "";
var second = index[5] >= 0 ? vals[index[5] + 1] : "";
var validate;
if (hour == "") {
validate = new Date(year, month, day);
} else {
validate = new Date(year, month, day, hour, minute, second);
}
if (validate.getDate() == day) {
return validate;
}
}
alert("wrong date");
}
function validateDate(dateString, formatString) {
var dateString = trim(dateString);
if (dateString == "") {
return;
}
var reg = formatString;
reg = reg.replace(/yyyy/, _y4);
reg = reg.replace(/yy/, _y2);
reg = reg.replace(/MM/, _M2);
reg = reg.replace(/M/, _M1);
reg = reg.replace(/dd/, _d2);
reg = reg.replace(/d/, _d1);
reg = reg.replace(/HH/, _H2);
reg = reg.replace(/H/, _H1);
reg = reg.replace(/mm/, _m2);
reg = reg.replace(/m/, _m1);
reg = reg.replace(/ss/, _s2);
reg = reg.replace(/s/, _s1);
reg = new RegExp("^" + reg + "$");
regexp = reg;
return reg.test(dateString);
}
function validateIndex(formatString) {
var ia = new Array();
var i = 0;
_yi = formatString.search(/yyyy/);
if (_yi < 0) {
_yi = formatString.search(/yy/);
}
if (_yi >= 0) {
ia[i] = _yi;
i++;
}
_Mi = formatString.search(/MM/);
if (_Mi < 0) {
_Mi = formatString.search(/M/);
}
if (_Mi >= 0) {
ia[i] = _Mi;
i++;
}
_di = formatString.search(/dd/);
if (_di < 0) {
_di = formatString.search(/d/);
}
if (_di >= 0) {
ia[i] = _di;
i++;
}
_Hi = formatString.search(/HH/);
if (_Hi < 0) {
_Hi = formatString.search(/H/);
}
if (_Hi >= 0) {
ia[i] = _Hi;
i++;
}
_mi = formatString.search(/mm/);
if (_mi < 0) {
_mi = formatString.search(/m/);
}
if (_mi >= 0) {
ia[i] = _mi;
i++;
}
_si = formatString.search(/ss/);
if (_si < 0) {
_si = formatString.search(/s/);
}
if (_si >= 0) {
ia[i] = _si;
i++;
}
var ia2 = new Array(_yi, _Mi, _di, _Hi, _mi, _si);
for (i = 0; i < ia.length - 1; i++) {
for (j = 0; j < ia.length - 1 - i; j++) {
if (ia[j] > ia[j + 1]) {
temp = ia[j];
ia[j] = ia[j + 1];
ia[j + 1] = temp;
}
}
}
for (i = 0; i < ia.length; i++) {
for (j = 0; j < ia2.length; j++) {
if (ia[i] == ia2[j]) {
ia2[j] = i;
}
}
}
return ia2;
}
function trim(str) {
return str.replace(/(^\s*)|(\s*$)/g, "");
}
日期型格式化
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;
}
分享到:
相关推荐
这是一个JavaScript格式化字符串的工具,详细: http://blog.csdn.net/loocao/archive/2010/01/07/5149420.aspx
字符串转日期、日期转字符串 // 2014-02-25 /** * 字符串转时间(yyyy-MM-dd HH:mm:ss) * result (分钟) */ stringToDate : function(fDate){ var fullDate = fDate.split("-"); return new Date...
js通用日期格式化工具,直接引用该工具类就可以使用,方便快捷,建议大家收藏此工具类,该工具很好的解决了前端页面显示日期格式问题
javascript格式化日期,将日期型转为字符串,字符串转为日期型,格式自由。
JS常用工具函数(压缩包中含有MD文件可自行查看)--包含:通用格式化时间、字符串验证-验证邮箱、手机号、电话号码、url地址、严格校验身份证号码,判断数据类型-是否是字符串、数字、Boolean、函数、对象、数组...
其它的运行符可以作用于数字和日期,但不能作用于字符串,大部分的时候,使用gt等字母运算符代替>会有更好的效果,因为 FreeMarker会把>解释成FTL标签的结束字符,当然,也可以使用括号来避免这种情况,如:<#if (x>y)> ...
<br> Validator是基于JavaScript技术的伪静态类和对象的自定义属性,可以对网页中的表单项输入进行相应的验证,允许同一页面中同时验证多个表单,熟悉接口之后也可以对特定的表单项甚至仅仅是某个字符串进行验证。...
JavaScript实现字符串与日期的相互转换及日期的格式化_.docx
javascript的TRIM函数和日期时间格式化函数 如 var d = new Date().format('yyyy-MM-dd hh:mm:ss');
各种值转换为日期字符串格式方法
用js来格式化字符串示例模仿css
采用js实现具有复杂字符串的格式化操作类库函数,采用纯js实现,可以对含有正则表达式以及日期,货币等字符串进行格式标准化解析操作。
字符串格式化,如 Python 的 .format() Obs:预期结果与Python相同 安装 节点 安装: $ npm install python-format-js 要么 $ yarn add python-format-js 要求: const format = require ( "python-format-js...
Date.prototype.toString 日期转字符串 Date.prototype.toArray 日期分割为数组 Date.prototype.DatePart 取日期的部分信息 Date.prototype.MaxDayOfDate 取日期所在月的最大天数 Date.prototype.WeekNumOfYear 判断...
这篇文章主要介绍的是利用Javascript将字符串日期格式化为yyyy-mm-dd的方法,下面话不多说了,参考如下代码 function formatDate(date) { var d = new Date(date), month = '' + (d.getMonth() + 1), day = '' +...
JS获取当前时间并格式化"yyyy-MM-dd HH:mm:ss",取时间格式的方法和函数
运用JAVAScript自定义函数,实现数字字符的格式化转换,在实际网站开发中,有很多地方可以适用,不难却很实用。
NULL 博文链接:https://huahua2691.iteye.com/blog/1668842
JSP编程技巧集锦<br><br>需要者请联系:e_mail:fzlotuscn@yahoo.com.cn QQ:595563946<br><br>目 录<br><br>1. JSP编程中常用的js技术<br>2. 在下拉列表框里选择一个值...字符串转日期<br>140.计算今天距月底还有几天