js日常函数记录

1.计算日期时间差

Function:计算日期差
Description:传入格式为yyyy-MM-dd HH:mm:ss 格式日期计算时差,该方法未进行判空请自行判空
Return:时间差 小时

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 function getTimeDiff(startDate, EndDate) {
try {
//转化日期格式
var format_startDate = new Date(startDate.replace(/-/g, "/"));
var format_EndDate = new Date(EndDate.replace(/-/g, "/"));
var days = format_EndDate.getTime() - format_startDate.getTime();//毫秒
} catch (e) {
return 0;
}
//保留一位小数,四舍五入取整可用Math.round();
return (days / 1000 / 60 / 60).toFixed(1);
}
```

#### 2.初始化Bootstrap日期
> Function:传入需要初始化的组件ID,初始化所有日期控件
Description:在页面加载时初始化所有的日期控件

>注:需引入bootstrap-datetimepicker

```javaScript
var initDatetimepicker = function () {
for (var i = 0; i < arguments.length; i++) {
$("#" + arguments[i]).datetimepicker({
format: 'yyyy-mm-dd',
autoClose: true,
language: 'zh-CN',
todayHighlight: true,
startView: 2,
minView: 2,//若需要选择到分钟则改为0,并且将format改为yyyy-mm-dd HH:ii
maxView: 4
});
}
};

###3.判断起始日期有效性

Function 时间段验证,开始时间不能大于结束时间
Description 按顺序传入需要初始化的日期组件ID.开始-结束,验证日期有效性
TODO: 需改进为无序,只传入ID 自动判断日期有效性

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var timeVerify = function (start, end) {
start = $("#" + start);
end = $("#" + end);

start.on('changeDate', function (e) {
if (end.val() != null && end.val() !== "" && start.val() > end.val()) {
pfs.comm.showDialog("开始时间必须小于结束时间");
start.val("");
}
});

end.on('changeDate', function (e) {
if (start.val() != null && start.val() !== "" && end.val() < start.val()) {
pfs.comm.showDialog("结束时间必须大于开始时间");
end.val("");
}
});
};
作者

Heng.Wang

发布于

2018-07-02

更新于

2023-09-20

许可协议

CC BY-NC-SA 4.0

Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×