我们先来看一下如何获取当前时间:

var date = new Date()
//输出:Tue Jul 02 2019 10:36:22 GMT+0800 (中国标准时间)

紧接着,我们来获取相关参数

var date = new Date();
console.log("今天的日期是:" + date)
//今天的日期是:Tue Jul 02 2019 10:43:55 GMT+0800 (中国标准时间)
var year = date.getFullYear(); //获取当前年份
console.log("今年是:" + year)
// 今年是:2019
var mon = date.getMonth() + 1; //获取当前月份
console.log("这个月是:" + mon)
// 这个月是:7
var day = date.getDate(); //获取当前日
console.log("今天是这个月的第" + day + "天")
// 今天是这个月的第2天
var weekday = date.getDay(); //获取当前星期几
console.log("今天是这周的第" + weekday + "天")
// 今天是这周的第2天
var h = date.getHours(); //获取小时
console.log("现在是:" + h + "点")
// 现在是:10点
var m = date.getMinutes(); //获取分钟
console.log("当前是这个小时:" + m + "分钟")
// 当前是这个小时:43分钟
var s = date.getSeconds(); //获取秒
console.log("当前是这个分种:" + s + "秒")
// 当前是这个分种:55秒

以上大概就是js中获取相应时间参数的所有方法了吧。

不过,很多时候,我们是要用到计算两个时间差的,经常会因为格式不匹配而出现各种问题,我们只要记住 三点:

  • 字符串之间是不能做数学运算的
  • 做差的两个类型是相同的,也就是Date对象和Date对象,时间戳(long)和时间戳

    请看以下:

1.将其他格式转为Date对象

通过传入一个会被JavaScript解析的字符串来构造
console.log(new Date('September 7, 2018')) // Fri Sep 07 2018 00:00:00 GMT+0800 (中国标准时间)
console.log(new Date('September 7, 2018, GMT+0800')) // Fri Sep 07 2018 00:00:00 GMT+0800 (中国标准时间) 通过传入一个毫秒数来构造
// 从Unix新纪元的时间创建日期
console.log(new Date(0)) // Thu Jan 01 1970 08:00:00 GMT+0800 (中国标准时间)
console.log(new Date(10000)) // Thu Jan 01 1970 08:00:10 GMT+0800 (中国标准时间)
console.log(new Date(1536307550023)) // Fri Sep 07 2018 16:05:50 GMT+0800 (中国标准时间)
// 使用负数创建新纪元之前的日期
console.log(new Date(-1536307550023)) // Tue Apr 26 1921 23:54:09 GMT+0800 (中国标准时间) 通过传入一个特定的本地日期来构造
总的来说格式为: new Date(年, 月, 日, 时, 分, 秒)
// 月份是从0开始的,一月为0,二月为1,九月为8等等
console.log(new Date(2018, 8)) // Sat Sep 01 2018 00:00:00 GMT+0800 (中国标准时间)
console.log(new Date(2018, 8, 7)) // Fri Sep 07 2018 00:00:00 GMT+0800 (中国标准时间)
console.log(new Date(2018, 8, 7, 16)) // Fri Sep 07 2018 16:00:00 GMT+0800 (中国标准时间)
console.log(new Date(2018, 8, 7, 16, 7)) // Fri Sep 07 2018 16:07:00 GMT+0800 (中国标准时间)
console.log(new Date(2018, 8, 7, 16, 7, 50)) // Fri Sep 07 2018 16:07:50 GMT+0800 (中国标准时间)
console.log(new Date(2018, 8, 7, 16, 7, 50, 23)) // Fri Sep 07 2018 16:07:50 GMT+0800 (中国标准时间)

以上部分代码转自简书,如有侵权,请联系删除

最后再说一个将时间本地化的方法

var date = new Date();
date.toLocaleString('zh-Hans-CN', {
timeZone: "Asia/Beijing",
hourCycle: "h24",
weekday: 'long',
year: 'numeric',
month: 'long',
day: 'numeric',
hour: 'numeric',
minute: 'numeric',
second: 'numeric'
})

以上部分代码转自github,如有侵权,请联系删除

js中对时间的操作的更多相关文章

  1. [转]js中confirm实现执行操作前弹出确认框的方法

    原文地址:http://www.jb51.net/article/56986.htm 本文实例讲述了js中confirm实现执行操作前弹出确认框的方法.分享给大家供大家参考.具体实现方法如下: 现在在 ...

  2. js中的时间转换—毫秒转换成日期时间

    转自:http://www.javascript100.com/?p=181 前几天,在项目中遇到js时间增加问题,要将js毫秒时间转换成日期时间 var oldTime = (new Date(&q ...

  3. SQL导入txt以及SQL中的时间格式操作

    原文:SQL导入txt以及SQL中的时间格式操作 MySQL中导入txt的指令为: load data local infile "路径名称" into table "表 ...

  4. 小程序 js中获取时间new date()的用法(网络复制过来自用)

    js中获取时间new date()的用法   获取时间: 1 var myDate = new Date();//获取系统当前时间 获取特定格式的时间: 1 myDate.getYear(); //获 ...

  5. Js中获取时间 new date()的用法

    Js中获取时间 new date()的用法 获取时间: var myDate = new Date();//获取系统当前时间 myDate.getYear(); //获取当前年份(2位) myDate ...

  6. JS对日期时间的操作

    代码: //判断是否超期(有效期开始超过一年后算已超期) function IsEffect(effectDate) { var val = ""; var currentDate ...

  7. javaScript系列:js中获取时间new Date()详细介绍

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

  8. 关于js中的时间处理

    关于js编程, 主要是, 绝大部分是用 jquery. 但是, js原生的一些方法和属性也是要掌握的, 这个只是在 遇到的时候, 记一下就好了, 如: event的relatedTarget属性: 主 ...

  9. js中格式化时间字符串

    .net 程序员肯定有遇到过,将一个对象json序列化之后Date 字段 就会转化成 '/Date(1370770323740)/' 这种格式的数据,下面介绍一种在js中,关于时间格式的转换. < ...

随机推荐

  1. urllib.request.urlretrieve()用于下载制定url内容到本地

    函数:urllib.urlretrieve(url[, filename[, reporthook[, data]]]) 参数说明: url:外部或者本地url ,url中不要含有中文,好像会出错.f ...

  2. 集成 Spring Boot 常用组件的后台快速开发框架 spring-boot-plus 国

    spring-boot-plus是一套集成spring boot常用开发组件的后台快速开发框架 Purpose 每个人都可以独立.快速.高效地开发项目! Everyone can develop pr ...

  3. 关于Function和Object之间先后问题的相关研究

    文章说明,博主是一个前端小白,本片文章是博主在学习的过程中碰到的疑惑,根据查找的资料,之后得出的个人结论,文中如果出现错误,欢迎指正. -------路漫漫其修远兮吾将上下而求索,与诸君共勉----- ...

  4. python 14 装饰器

    目录 装饰器 1. 开放封闭原则 装饰器 1. 开放封闭原则 扩展是开放的,增加新的功能:修改源码(修改已经实现的功能)是封闭的. 在不改变源码及调用方式的前提下额外增加新的功能. # 版一: imp ...

  5. 【解决】TLS/SSLError问题导致无法使用pip或conda安装软件包

    Copy these files from the ./Library/bin to ./DLLs/ :libcrypto-1_1-x64.*libssl-1_1-x64.* 解决 欢迎关注↓↓↓ 头 ...

  6. CocosBuilder 学习笔记(3) AnimationManager 与 ccbi 文件解析

    [CocosBuilder]学习笔记目录 1. 相关的类 先介绍和AnimationManager相关的几个类: CCBSequence 时间线.有成员duration(时间线时间,默认10秒).na ...

  7. JavaScript 防抖

    JavaScript 防抖 在前端开发中会遇到一些频繁的事件触发,比如: window 的 resize.scroll mousedown.mousemove keyup.keydown...   防 ...

  8. 【转载】Windows api数据类型

    最近在接触windows api函数,看到了很多之前没有看到过的数据类型,发现“个人图书馆”中有个帖子说的挺详细的,特地搬运过来 Windows 数据类型 Delphi 数据类型 描述 LPSTR P ...

  9. 2019 HZNU Winter Training Day 13 Comprehensive Training

    A.Jongmah   CodeForces-1110D 题意:你在玩一个数字游戏,有一堆写在瓦片上的数字,希望你能组成最多的三元组(三个数字相同,或顺子). 这题用到的方法是动态规划.f[i][j] ...

  10. Gym 101470 题解

    A:Banks 代码: #include<bits/stdc++.h> using namespace std; #define Fopen freopen("_in.txt&q ...