今天在项目中遇到了将后台数据传过来的json格式的数据转化为标准格式,传到页面的是时间戳格式,所以需要把时间格式化一下,这就需要js来做这件事了。
所需知识:
1、parseInt()函数:可解析一个字符串,并返回一个整数。解析的全部是 数字。
2、正则表达式:/\D/是正则表达式,igm是匹配标记,i表示匹配的字符串中字母不区分大小写,g是全局标志,表示该表达式将用来在输入字符串中查找尽可能多的匹配,m表示在多行中查找,不然只会查找一行也就是查找到\n换行处。
3、javascript Date对象:Date对象用于处理日期和时间。
Date返回当日的日期和时间;getDate从Date对象返回一个月中的某一天(1-31);getMonth从Date对象返回月份(0-11);getFullYear从Date对象以四位数返回年份。因为必须都从Date对象返回,所以必须之前要写
var myDate=new Date()
第一种方法:
<script>
function formatyn(nS) {
var a= parseInt(nS.replace(/\D/igm, ""));
var datetime = new Date(a);
var year = datetime.getFullYear();
var month = datetime.getMonth() + 1 < 10 ? "0" + (datetime.getMonth() + 1) : datetime.getMonth() + 1;
var date = datetime.getDate() < 10 ? "0" + datetime.getDate() : datetime.getDate();
return year + "-" + month + "-" + date;
}
</script>
|
第二种方法:
<script>
function formatyn(nS) {
var a = parseInt(nS.replace(/\D/igm, ""));
var datetime = new Date(a);
var year = datetime.getFullYear();
var month = datetime.getMonth() + 1;
var date = datetime.getDate();
return year + "-" + month + "-" + date ;
</script>
|
好了问题解决
需要注意的是
不要把字符串中的Date(这样的字符也传进去,要先处理一下,这样很方便 就能处理的
可以使用replace方法
如下:
replace("/Date(","").replace(")/","");
|