My Little World

转换

日期/时间戳

时间戳转换日期

日期 = new Date(时间戳1000);
再根据需求转换不同形式
例:
var timestamp = ‘1425553097‘;
var d = new Date(timestamp
1000); //根据时间戳生成的时间对象
var date = (d.getFullYear()) + “-“ +
(d.getMonth() + 1) + “-“ +
(d.getDate()) + “ “ +
(d.getHours()) + “:” +
(d.getMinutes()) + “:” +
(d.getSeconds());
date就是”年-月-日 时:分:秒”形式

日期转换时间戳

var val1 = 日期变量.replace(/-/g,’/‘);
var val2 = new Date(val1);
var val3 = date.getTime().toString();
var 时间戳1 = String(val3.substr(0,10)); ###转换成字符串形式

相当于 时间戳 = (new Date(日期.replace(/-/g,’/‘)).getTime().toString()).substr(0, 10); ###数字形式

时间戳1的分秒转换时为00:00:00,如果时分秒取 23:59:59,则

var 时间戳2 = String(parseInt(时间戳1)+86399);

日期增加1天

经常会遇到将现在日期增加1天的需求,解决办法就是
1.将当前时间转化时间戳数字形式
2.将时间戳加一天的秒数86400
3.再将时间戳转化成”年-月-日”日期形式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
//转换时间戳
$scope.timestamp = function(val){
var temp = "";
if(val != ""){
temp = (new Date(val.replace(/-/g,'/')).getTime().toString()).substr(0, 10);
}
if(val ==""){
temp = "";
}
return temp;
}
//增加1天
var temp = String(parseInt($scope.timestamp(待增加日期变量))+86400);
//再转换成日期
var d=new Date(temp * 1000);
var date = (d.getFullYear()) + "-" +
(d.getMonth() + 1) + "-" +
(d.getDate());
console.log(date);

//计算时间间隔
var begintime = Date.parse(new Date($scope.detaildata.start_time + " 00:00:00"));
var endtime = Date.parse(new Date($scope.detaildata.end_time+" 23:59:59"));
var day = Math.floor(Math.abs(endtime - begintime) / 1000 / 60 / 60 /24 + 0.5);//间隔天数

获取当天年月日,星期

1
2
3
4
5
6
7
8
9
10
11
12
13
var date = new Date();
var month = date.getMonth() + 1;
var day = date.getDate();
if (month >= 1 && month <= 9) {
month = "0" + month;
}
if(day<10){
day='0'+day;
}
var daytime = date.getFullYear()+'-'+month+'-'+day;

//根据日期获取星期,星期天是0,其他正常
var week = new Date(daytime).getDay();

比较日期和时间先后

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 var date1 = start_date.replace(/\-/gi,"/");
var date2 = end_date.replace(/\-/gi,"/");
var time1 = new Date(date1).getTime();
var time2 = new Date(date2).getTime();
if(time1 > time2){
console.log('开始日期大于结束日期,请先修改!');
return
}
var a = '01/10/2007 ' + start_time;
var b = '01/10/2007 ' + end_time;
var d = new Date(a);
var e = new Date(b);
if(d>=e){
console.log('开始时间大于等于结束时间,请先修改!');
return
}

一个利用js生成的日历页面

json/字符串

json数据转换成字符串 JSON.stringify(val);
字符串转换成json数据 JSON.parse(val);

数组/字符串

数组转字符串

需要将数组元素用某个字符连接成字符串,示例代码如下:
var a, b;
a = new Array(0,1,2,3,4);
b = a.join(“-“);

字符串转数组

实现方法为将字符串按某个字符切割成若干个字符串,并以数组形式返回,示例代码如下:
var s = “abc,abcd,aaa”;
ss = s.split(“,”);// 在每个逗号(,)处进行分解。

1
2
 //获取字符串中数字包括小数点
str = str.replace(/[^\d\.]/g, '');

js取整

Math.ceil(val)向上取整
Math.floor(val)向下取整
Math.round(val)四舍五入