一、 Date对象

Math和Date对象的区别
Math对象和Date对象的区别
Math不是一个构造函数,里面提供的是静态成员
Date是一个构造函数 首先要通过new Date() 来创建日期实例 GMT 格林威治时间 世界时间
GMT+0800 (中国标准时间)
创建Date 实例用来处理日期和时间。 Date对象基于1970年1月1日起的秒数

1. 用法:

1. 空构造函数 获取当前时间对象
var d = new Date();
console.log(d);
2. 构造函数中传入毫秒值
var d = new Date();
console.log(d.valueOf()); 获取毫秒值
var d = new Date(1575364161879);
3. 可以传入日期形式的字符串
var d = new Date('1994-10-16');
console.log(d);
4. 传入数字
5. 获取时间毫秒秒方法
d.getTime();
var num = Date.now();
var num = + new.Date()

2. Date的常用方法

日期格式化方法
toString() 转换成字符串
valueOf() 获取毫秒值 格式化日期的方法 在不同浏览器可能表现不一致, 一般不用
toDateString()
toTimeString()
toLocaleDateString()
toLOcaleTimeString() 获取日期指定部分
getTime() 返回好小和vauleOf() 结果一样
getMilliseconds()
getSeconds() 返回0-59
getMinutes() 返回0~59
getHours() 返回0~23
getDay() 返回星期几 0是周日
getDate() 返回当月的第几天
getMonth() 返回月份 **从0开始
getFullYear() 返回4位的年份 var d = new Date();
console.log(d.getFullYear());
console.log(d.getMonth() + 1);
console.log(d.getDate());
console.log(d.getHours());
console.log(d.getMinutes());
console.log(d.getSeconds());

案例1 格式化日期对象

date instanceof Date 判断date是否是Date类型
console.err() 当发生错误时 可打印自定义日志 function formatDate(date) { if (!(date instanceof Date)) {
console.error('date 不是日期对象');
return;
}
var year = date.getFullYear(),
month = date.getMonth() + 1,
day = date.getDate(),
hour = date.getHours(),
minute = date.getMinutes(),
second = date.getSeconds(); month = month < 10 ? '0' + month : month;
day = day < 10 ? '0' + day : day;
hour = hour < 10 ? '0' + hour : hour;
minute = minute < 10 ? '0' + minute : minute;
second = second < 10 ? '0' + second : second; return year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second;
}
var d = new Date(2019, 1, 3);
var dateStr = formatDate(d)
console.log(dateStr);

案例2 计算时间差

function getInterval(start, end) {
var interval = end -start;
var day, hour, minute, second;
interval /= 1000;
day = Math.round(interval / 60 / 60 /24);
hour = Math.round(interval /60 /60 % 24);
minute = Math.round(interval / 60 % 60);
second = Math.round(interval % 60);
return {
day: day,
hour: hour,
minute: minute,
second: second,
} }
var d1 = new Date();
var d2 = new Date(2019,12,24);
obj = getInterval(d1, d2);
console.log(obj);

js入门之内置对象Date的更多相关文章

  1. js入门之内置对象Math

    一. 复习数据类型 简单数据类型, 基本数据类型/值类型 Number String Boolean Null Undefined 复杂数据类型 引用类型 Object 数组 数据在内存中是如何存储的 ...

  2. js入门之内置数组对象 Array

    一. 数组 1. 创建数组的两种方式 1. 数组字面量 var array = [] 2. 数组的构造函数创建数组 var array = new Array(); 2. 如何判断一个变量是否是数组 ...

  3. JS入门之ActiveXObject对象(转载)

    JS入门之ActiveXObject对象   此对象提供自动化对象的接口.   function ActiveXObject(ProgID : String [, location : String] ...

  4. js arguments 内置对象

    1.arguments是js的内置对象. 2.在不确定对象是可以用来重载函数. 3.用法如下: function goTo() { var i=arguments.length; alert(i); ...

  5. js单体内置对象

    js单体内置对象:js的内置对象,是ECMAScritp提供的.不依赖于宿主环境的对象,我的理解就是在我们开发之前js里面就已经存在的对象.单体内置对象就是是不需要通过new来实例化的,例如我们的st ...

  6. JS基础-内置对象【字符串+Date+Math】

    JS内置对象[字符串] // charAt() 返回字符 // charCodeAt() 返回字符的unicode编码 var str="hello world"; console ...

  7. js之内置对象

    内置对象(Global和Math):JS程序在执行之前就已经存在,开发人员不必再取实例化的内置对象 下面对Global对象进行介绍一下,Math用的不多就不做介绍了 1.Global对象 Global ...

  8. JS的内置对象以及JQuery中的部分内容

     [js中的数组]              1  数组的概念:可以再内存中连续存储的多个有序元素的结构                元素的顺序:称为下标,通过下标查找对应元素.           ...

  9. js常用内置对象、Dom对象、BOM对象

    11.html元素事件属性中,如onclick="",双引号里可以是方法条用,可以是js代码(无需加<script>标签) 12.JavaScript内置 对象.属性和 ...

随机推荐

  1. HBase在特征工程中的应用

    前言HBase是一款分布式的NoSQL DB,可以轻松扩展存储和读写能力. 主要特性有: 按某精确的key获取对应的value(Get) 通过前缀匹配一段相邻的数据(Scan) 多版本 动态列 服务端 ...

  2. iOS 不允许横屏的简单代码

    - (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWi ...

  3. Hive Essential (4):DML-project,filter,join,union

    1. Project data with SELECT The most common use case for Hive is to query data in Hadoop. To achieve ...

  4. python 中删除文件中的空白行(回车)

    staff.txt 内容: Alex Li,Engineer,1363432345,alex@126.com Jack Zhang,Salesman,Sales Dep,15697892356,jac ...

  5. 基于EasyDSS流媒体解决方案创建视频点播、短视频、视频资源库等视频播放系统

    随着前端技术的不断发展,视频点播早已不再是IE6时代的浏览器嵌入式Windows Media Player.也不是后来的flash media player需要的rtmp点播流,现在能够唯一满足全终端 ...

  6. systemctl service

    一.systemctl常用命令 systemctl list-units            ##列出当前系统服务的状态 systemctl list-unit-files       ##列出服务 ...

  7. Python扫描器-端口扫描

    结合渗透测试最常见就是单个域名扫指纹,自动子域名查找.获取所有子域名的IP,自动C段IP查找相同子域名,利用有效IP扫端口. 常见端口库扫描 service_list = { 21:"FTP ...

  8. Sublime Text3安装及常用插件安装

    为了使用强大好用的代码编辑器来进行selenium3+Python3的自动化测试. 使用Sublime Text 3非常适合. 1.下载安装 首先到http://www.sublimetext.com ...

  9. python2:输出百分比

    pass_num=80execute_num=90pass_rate = "%.2f%%" % (float(pass_num)/float(executed_num)*100)p ...

  10. vue-cli3 + ts 定义全局方法

    一.定义全局方法不生效  虽然在main.ts当中定义了全局方法,但是在使用的时候根本找不到,也是无语了. 二.解决方法 我在网上找了很多方法,其中很多大神都是这样做的:  但是,我这样写了还是不生效 ...