/**
* 获取时间格式为:1970-01-01 00:00
* @param {参数} params
* 属性 类型 默认值 必填 说明
* date Date new Date() 否 Date对象
* ms int 0 否 获取距当前ms毫秒时间
* dateFormat String / 否 日期分隔符
* timeFormat string : 否 时间分隔符
*
*/
const formatTime = (params) => {
const ms = (!params.ms ? 0 : params.ms);
const date = !params.data ? new Date(new Date().getTime() + ms) : new Date(params.date.getTime() + ms);
const year = date.getFullYear();
const month = date.getMonth() + 1;
const day = date.getDate();
const hour = date.getHours();
const minute = date.getMinutes();
const second = date.getSeconds();
const dateFormat = (!params.dateFormat) ? "/" : params.dateFormat;
const timeFormat = (!params.timeFormat) ? ":" : params.timeFormat;
return [year, month, day].map(formatNumber).join(dateFormat) + ' ' + [hour, minute, second].map(formatNumber).join(timeFormat);
} const formatNumber = n => {
n = n.toString();
return n[1] ? n : '0' + n;
}

测试案例:

<!DOCTYPE html>
<html> <head>
<meta charset="utf-8" name="viewport" content="width=device-width;initscale=1.0" />
<title>js获取当前/未来时间</title>
</head> <body>
<h1>5分钟前时间:<span id="beforeFiveMinuteTime"></span></h1>
<h1>当前时间:<span id="nowTime"></span></h1>
<h1>5分钟后时间:<span id="afterFiveMinuteTime"></span></h1> <script type="text/javascript">
/**
* 获取时间格式为:1970-01-01 00:00
* @param {参数} params
* 属性 类型 默认值 必填 说明
* date Date new Date() 否 Date对象
* ms int 0 否 获取距当前ms毫秒时间
* dateFormat String / 否 日期分隔符
* timeFormat string : 否 时间分隔符
*
*/
const formatTime = (params) => {
const ms = (!params.ms ? 0 : params.ms);
const date = !params.data ? new Date(new Date().getTime() + ms) : new Date(params.date.getTime() + ms);
const year = date.getFullYear();
const month = date.getMonth() + 1;
const day = date.getDate();
const hour = date.getHours();
const minute = date.getMinutes();
const second = date.getSeconds();
const dateFormat = (!params.dateFormat) ? "/" : params.dateFormat;
const timeFormat = (!params.timeFormat) ? ":" : params.timeFormat;
return [year, month, day].map(formatNumber).join(dateFormat) + ' ' + [hour, minute, second].map(formatNumber).join(timeFormat);
} const formatNumber = n => {
n = n.toString();
return n[1] ? n : '0' + n;
} window.onload = () => {
document.getElementById("beforeFiveMinuteTime").innerHTML = formatTime({
date: new Date(),
ms: -5 * 60 * 1000,
dateFormat: "-"
}); document.getElementById("nowTime").innerHTML = formatTime({
date: new Date(),
timeFormat: "/"
});
document.getElementById("afterFiveMinuteTime").innerHTML = formatTime({
date: new Date(),
ms: 5 * 60 * 1000
});
}
</script> </body> </html>

结果:

JS获取时间(当前-过去-未来)的更多相关文章

  1. js获取时间相关函数

    js获取时间函数 var myDate = new Date; var year = myDate.getFullYear();//获取当前年 var yue = myDate.getMonth()+ ...

  2. js 获取时间 new Date()详细介绍

    javaScript系列:js中获取时间new Date()详细介绍 (2012-03-31 09:54:25) 转载▼ 标签: js时间 new date() 字符类型 转换 分类: study-j ...

  3. js 获取时间对象代码

    /** * 获取时间对象 */function getDateObj(addDayCount) { var dd = new Date(); dd.setDate(dd.getDate()+addDa ...

  4. js获取时间加多山天和时间戳转换成日期

    function huoqu(){    var data = $("#data").val();//获取的时间    var day = $('#day').val();//往后 ...

  5. js获取时间,循环执行任务,延迟执行任务

    一.获取时间 核心方法创建一个时间对象:new Date() 时间对象相关操作 时间对象.函数名 函数名 功能 getYear() 获取四位数的年份 getMonth() 获取2位数的月数, 这个是从 ...

  6. js获取时间及转化

    有关Javascript的本地时间获取,下面我直接用代码来进行举例吧 let time = new Date(); let month = time.getMonth()+1; //获取的月份0~11 ...

  7. js 获取时间比较全,留备用(zhuan)

    var myDate = new Date(); myDate.getYear();        //获取当前年份(2位) myDate.getFullYear();    //获取完整的年份(4位 ...

  8. 【巩固】JS获取时间的一些基础知识

    就是一个new Date()对象,要注意的有以下几点; 直接给oDate对象设置年月日时分秒的时候要分成两步,oDate.setFullYear()接受三个参数分别是年月日,注意月份是从0开始计一月的 ...

  9. js获取时间天数

    date2必须大于date1 function getDays(date1,date2){ /*获取之间的天数*/ /*date1,date2都是date格式*/ var getd=(date2.ge ...

随机推荐

  1. PHP array_walk_recursive() 函数

    实例 对数组中的每个元素应用用户自定义函数: <?phpfunction myfunction($value,$key){echo "The key $key has the valu ...

  2. Python 字典(Dictionary) type()方法

    Python 字典(Dictionary) type()方法 描述 Python 字典(Dictionary) type() 函数返回输入的变量类型,如果变量是字典就返回字典类型.高佣联盟 www.c ...

  3. SpringBoot一个依赖搞定session共享

    原文:微信公众号:Java开发宝典  https://mp.weixin.qq.com/s/_VFY9lXqNhH8Nh4HC9tuMg 1. 前言 在传统的单服务架构中,一般来说,只有一个服务器,那 ...

  4. Taurus.MVC 2.3.4 :WebAPI 文档集成测试功能升级:WebAPI批量自动化测试功能。

    前言: 最近升级了一下Taurus.MVC,现在最新版本是:Taurus.MVC 2.3.4,源码版本和nuget同步. 下面分三个步骤介绍下新版本的WebAPI批量自动化测试功能. 1.启用WebA ...

  5. cocos2d-x_下载游戏引擎并创建第一个项目

    我是一名小白. 下载并创建游戏项目 第一步:去官网下载cocos2d-x http://www.cocos.com/download 第二步:将安装包里边的 setup.py 拖进命令行点击回车键 , ...

  6. OO第一单元(前四周)作业总结

    OO第一单元(前四周)作业总结 OO第一单元(前四周)作业总结要求(第四次作业) 0.前言 本次博客针对的是本人学习Java的第一阶段的三次作业的作业总结 第一次作业的内容是:7-1 计算税率 (20 ...

  7. java目前常用的几种定时任务

    java目前常用的几种定时任务 JDK自带的Timer spring的Task Quartz elastic-job分布式定时任务 一.JDK自带的Timer Timer是jdk中提供的一个定时器工具 ...

  8. ROS 八叉树地图构建 - 安装 octomap 和 octomap_server 建图包!

    项目要用到八叉树库 Octomap 来构建地图,这里记录下安装.可视化,并启用带颜色的 Octomap 的过程. 一.Apt 安装 Octomap 库 如果你不需要修改源码,可以直接安装编译好的 oc ...

  9. Windows10上安装Linux子系统(WSL2,Ubuntu),配合Windows Terminal使用

    Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具.实用工具和应用程序 - 且不会产生传统虚拟机或双启动设置开销. WSL 说白了安装Li ...

  10. java 用集合完成随机点名器和库存管理案例

    一 随机点名器 1.案例需求 随机点名器,即在全班同学中随机的找出一名同学,打印这名同学的个人信息. 我们来完成随机点名器,它具备以下3个内容: 存储所有同学姓名 总览全班同学姓名 随机点名其中一人, ...