value的类型判断然后调用Date
来源:互联网 发布:迷糊娃娃淘宝价 编辑:程序博客网 时间:2024/06/05 10:39
从服务器(如C#代码)得到的一个日期对象的格式可能为 :
2014-04-04T13:04:46.187
在展显给用户时,可能只需要显示日期部分,如:
2014年4月4日
不少资料介绍JavaScript的日期格式化,会直接把日期字符串转换成JavaScript的日期对象,如:
new Date("2014-04-04T13:04:46.187") //有可能提示Invalid Date
new Date("2014年04月04日") //有可能提示Invalid Date
经测试,同样的字符串,在公司的电脑上转换时提示Invalid Date,在家里的电脑上又成功。是不是因为跟电脑系统环境有关?有待考究。
通常,日期的格式不外乎就那几种,何尝不用正则表达式?想到就动手,日期匹配的正则表达式如下(支持中文):
/^([0-9]{4})[-/.年]([0-1]?[0-9]{1})[-/.月]([0-3]?[0-9]{1})[日]?.?([0-2]?[0-9](:[0-6][0-9]){2})?/
如果输入前面的日期格式,得到的效果如下,也许有人会奇怪,为什么把日期分组那么多个呢?后面有用到的:)
最后附上完整的代码:
复制代码
function getDateStr(value, formatStr) {
formatStr = formatStr|| "yyyy-MM-dd"; //默认格式
var dateReg = /^([0-9]{4})[-/.年]([0-1]?[0-9]{1})[-/.月]([0-3]?[0-9]{1})[日]?.?([0-2]?[0-9](:[0-6][0-9]){2})?/;
var arr = dateReg.exec(value);
if (arr && arr[0]) {
if (formatStr) {
var subReg = /y+(。)M+(。)d+(。)?/i;
var subArr = subReg.exec(formatStr);
if (subArr) {
var resStr = arr[1] + subArr[1];
resStr += arr[2] + subArr[2];
resStr += arr[3] + (subArr[3] || "");
return resStr;
}
}
return arr[0];
}
return "";
}
复制代码
调用:
var a1= getDateStr("2014-4-17 21:36:01","yyyy年MM月dd日") //2014年4月17日
var a2= getDateStr("2014-4-17T21:36:01")//默认格式 2014-4-17
注:getDateStr 暂不支持直接传一个javascript Date对象参数,不过要扩充也容易,在转换前做一下value的类型判断然后调用Date里面javascript自身的方法就行了。这里就不多说了。
2014-04-04T13:04:46.187
在展显给用户时,可能只需要显示日期部分,如:
2014年4月4日
不少资料介绍JavaScript的日期格式化,会直接把日期字符串转换成JavaScript的日期对象,如:
new Date("2014-04-04T13:04:46.187") //有可能提示Invalid Date
new Date("2014年04月04日") //有可能提示Invalid Date
经测试,同样的字符串,在公司的电脑上转换时提示Invalid Date,在家里的电脑上又成功。是不是因为跟电脑系统环境有关?有待考究。
通常,日期的格式不外乎就那几种,何尝不用正则表达式?想到就动手,日期匹配的正则表达式如下(支持中文):
/^([0-9]{4})[-/.年]([0-1]?[0-9]{1})[-/.月]([0-3]?[0-9]{1})[日]?.?([0-2]?[0-9](:[0-6][0-9]){2})?/
如果输入前面的日期格式,得到的效果如下,也许有人会奇怪,为什么把日期分组那么多个呢?后面有用到的:)
最后附上完整的代码:
复制代码
function getDateStr(value, formatStr) {
formatStr = formatStr|| "yyyy-MM-dd"; //默认格式
var dateReg = /^([0-9]{4})[-/.年]([0-1]?[0-9]{1})[-/.月]([0-3]?[0-9]{1})[日]?.?([0-2]?[0-9](:[0-6][0-9]){2})?/;
var arr = dateReg.exec(value);
if (arr && arr[0]) {
if (formatStr) {
var subReg = /y+(。)M+(。)d+(。)?/i;
var subArr = subReg.exec(formatStr);
if (subArr) {
var resStr = arr[1] + subArr[1];
resStr += arr[2] + subArr[2];
resStr += arr[3] + (subArr[3] || "");
return resStr;
}
}
return arr[0];
}
return "";
}
复制代码
调用:
var a1= getDateStr("2014-4-17 21:36:01","yyyy年MM月dd日") //2014年4月17日
var a2= getDateStr("2014-4-17T21:36:01")//默认格式 2014-4-17
注:getDateStr 暂不支持直接传一个javascript Date对象参数,不过要扩充也容易,在转换前做一下value的类型判断然后调用Date里面javascript自身的方法就行了。这里就不多说了。
0 0
- value的类型判断然后调用Date
- 如何判断当前浏览器的类型(IE和FF)然后调用不同的css?
- SQL, 先把字符串转成date类型.. 然后做月的加减. 做完再把date类型转成varchar类型...
- 设置Date类型,调用的 datetime 模块
- Swift anyobject 如何把value强转成String类型,或者判断value的类型?
- 遍历form上所有的控件,判断控件类型,然后抓数据
- 判断用户的请求类型 get or post 然后同步 或者 异步 执行 方法
- DATE类型的加减
- no value specified for 'date' 的解决方法
- action判断是否结束,然后调用回调函数
- 判断浏览器类型屏幕分辨率自动调用不同CSS的代码
- 从一个HashMap中把一个value为Set类型的元素取出来,然后add添加一个元素,Map也有新添加的元素了
- 字典里的value值的类型是是object的类型,不能想当然的去调用其他方法。
- Oracle 的Date类型面面观
- struts date类型的显示
- Javascript的Date类型总结
- springmvc Date类型的转换
- java的Date类型数据
- Grails重定向以及Render、Session的使用
- 联想有着"万全"服务器产品线
- 主流开源协议比较
- ubuntu+opencv学习记录
- QT error Lnk112处理办法
- value的类型判断然后调用Date
- The World of Programming
- Oracle 学习笔记 10 -- 约束
- js 判断按钮是否被点击过
- 读书记录(1)
- 15.构造二叉树进行四则计算
- 开发、部署EJB
- 初次发布Tomcat Probe
- nasm程序从32位到64位平台的移植(二)