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

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. MongoDB的一些高级语法.md

      MongoDB的一些高级语法 AND 和 OR操作 AND操作 OR操作 嵌入式文档 插入 查询 数组(Array)字段 插入 查询 聚合(Aggregation) 筛选数据 修改字段 注意事项 ...

  2. python画混淆矩阵(confusion matrix)

    混淆矩阵(Confusion Matrix),是一种在深度学习中常用的辅助工具,可以让你直观地了解你的模型在哪一类样本里面表现得不是很好. 如上图,我们就可以看到,有一个样本原本是0的,却被预测成了1 ...

  3. DOM操作(基础版)

    DOM操作(基础版) DOM是document Object Model的缩写,简称文档对象模型.只要记住这是操作文档的就行了. DOM基础选择器 1.getElementById(id); //获取 ...

  4. Mac os 下 python爬虫相关的库和软件的安装

      由于最近正在放暑假,所以就自己开始学习python中有关爬虫的技术,因为发现其中需要安装许多库与软件所以就在这里记录一下以避免大家在安装时遇到一些不必要的坑. 一. 相关软件的安装:   1. h ...

  5. EF的3种开发模式

    那么明显开发模式是三种. 即:DateBase First(数据库优先).Model First(模型优先)和Code First(代码优先). 当然,如果把Code First模式的两种具体方式独立 ...

  6. unicode的编码与解码

  7. CodeForces 780 E Underground Lab

    Underground Lab 题解: 如果遍历一棵树,我们可以发现最多需要走的步数也不会超过2 * n步. 所以我们选出一棵树,然后遍历一边这颗树. 然后把序列分成k块就好了. 代码: #inclu ...

  8. 牛客小白赛5 无关(relationship) 容斥原理(计算因子数的模板)

    链接:https://www.nowcoder.com/acm/contest/135/A来源:牛客网 若一个集合A内所有的元素都不是正整数N的因数,则称N与集合A无关.   给出一个含有k个元素的集 ...

  9. 分析一次double强转float的翻车原因

    背景 人逢喜事精神爽,总算熬到下班撩~~ 正准备和同事打个招呼回家,被同事拖住问了.

  10. vim中处理重定向文件中的^H和^M

    做实验的时候会把日志重定向写到文件中,方便以后查看.但是用vim打开之后出现很多^H和^M,就像乱码一样.如图所示: 现在尝试在vim中解决这个问题. 替换^H 在vim中输入命令,表示把^H替换成空 ...