博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
时间处理的一些代码片段
阅读量:6114 次
发布时间:2019-06-21

本文共 2886 字,大约阅读时间需要 9 分钟。

项目开发中会用到一些有关时间的上的处理,比如根据某个时间返回该时间的前后一段时间,判断两个时间点的相隔时间等。

1、获取某个时间点的前后一段时间

根据某个时间点获取前后多少年、月、日、时、分、秒函数

/** * [根据某个时间点获取前后多少年、月、日、时、分、秒] * @param  {[type]} dateNow  [需要获取的时间点] * @param  {[type]} stepData [具体时间段区间] * @param  {[type]} flag [标志位,用来区分年、月、日、时、分、秒] * @return {[type]}  [返回新的时间] */var getTimes = function(dateNow, stepData, flag){    var date = dateNow.split(' ')[0].split('-'),        time = dateNow.split(' ')[1].split(':'),                year = date[0],        month = date[1]-1,        day = date[2],        second = time[2],        minute = time[1],        hour = time[0];         var dateNew = new Date(year, month, day, hour, minute, second, 00);    switch(flag) {        case "year": stepData && (dateNew.setFullYear(dateNew.getFullYear() + stepData));            break;        case "month": stepData && (dateNew.setMonth(dateNew.getMonth()+1 + stepData));            break;        case "date": stepData && (dateNew.setDate(dateNew.getDate() + stepData));            break;        case "hour": stepData && (dateNew.setHours(dateNew.getHours() + stepData));            break;        case "minute": stepData && (dateNew.setMinutes(dateNew.getMinutes() + stepData));            break;        case "second": stepData && (dateNew.setMilliseconds(dateNew.getSeconds() + stepData));            break;        default: stepData && (dateNew = new Date(dateNew.getTime() + stepData));            break;    }     var t = {        Y:dateNew.getFullYear(),        m:dateNew.getMonth()+1,        d:dateNew.getDate(),        h:dateNew.getHours(),        M:dateNew.getMinutes(),        s:dateNew.getSeconds()     }     function offset(num){//个位前补0        return (num < 10 ? ('0'+num):num);     }     return t.Y+'-'+offset(t.m)+'-'+offset(t.d)+" "+offset(t.h)+":"+add0(t.M)+":"+offset(t.s);}

2、计算两个时间的时间间隔

var startTime = $("#startTime").val();//开始时间var endTime = $("#endTime").val();//结束时间var subTime = (toDate(endTime).getTime()-toDate(startTime).getTime())/1000/3600/24;function toDate(strDateTime) {    var strDateTimes = strDateTime.split(' '),        strDate = strDateTimes[0].split('-'),        year = Number(strDate[0]),        month = Number(strDate[1]) - 1,        day = Number(strDate[2]),        strTime = strDateTimes[1].split(':'),        hour = Number(strTime[0]),        minute = Number(strTime[1]),        secend = Number(strTime[2]);    return new Date(year, month, day, hour, minute, secend);}

3、时间控件赋值

function getTime(isEndTime){     var date = new Date();     var t = {        m:date.getMonth()+1,        d:date.getDate(),        h:date.getHours(),        M:date.getMinutes(),        s:date.getSeconds()     }     function offset(num){//个位前补0        return (num < 10 ? ('0'+num):num);     }     return date.getFullYear() + '-' + offset(t.m) +'-'+ offset(t.d)         + ' ' + (isEndTime ? '23:59:59':'00:00:00');};

转载于:https://www.cnblogs.com/summer7310/p/6560355.html

你可能感兴趣的文章
php-fpm进程管理方式(static和dynamic)
查看>>
shadow-mfs系统架构介绍
查看>>
resin学习随笔
查看>>
CentOS 6 无法上网问题解决笔记
查看>>
Recreate an instance
查看>>
css3浏览器兼容性小结
查看>>
我的友情链接
查看>>
[每日更新-MySQL基础]5.常用的数据类型-整数和字符串
查看>>
我的友情链接
查看>>
yum install时报warning: rpmts_HdrFromFdno: Header V3
查看>>
apache+mod_wsgi+django配置
查看>>
教徒计划出品:Open-E + Esxi5 + MDS9124 FC存储配置
查看>>
测试一下超链接
查看>>
Single Threaded Execution
查看>>
我的友情链接
查看>>
用“科技向善”理念引领人工智能发展
查看>>
国家密码等级划分
查看>>
保持长跑的姿态
查看>>
春节用html5写的,希望各位大侠多多指教,另外,祝大家新年快乐
查看>>
Linux IO实时监控iostat命令详解
查看>>