javascript 玩转Date对象(实例讲解)

前言:最近在做一个日期选择功能,在日期转换的时候经常换到晕,总结一下常用的Date对象的相关用法,方便日后直接查看使用~

1. new Date()的使用方法有:

不接收任何参数:返回当前时间;

接收一个参数x: 返回1970年1月1日 + x毫秒的值。

new Date(1, 1, 1)返回1901年2月1号。
new Date(2016, 1, 1)不会在1900年的基础上加2016,而只是表示2016年2月1号。

2. 使用new Date(time) 将时间转换成 Date 对象

注意:time格式需要为 1999/12/31 23:59 (不能为1999-12-30 23:43),否则在一些机型下可能会报错。

3. date对象一些常用的api

new Date()转换之后的数据,可以直接使用下面的api
new Date(x).getMonth()+1  //获取月份
new Date(x).getDate //获取日期
new Date(x).getHours() //获取小时
new Date(x).getMinutes() //获取分钟
new Date(x).toLocaleDateString()); // 转换为本地日期格式,视环境而定,输出:2017年07月04日
new Date(x).toLocaleString()); // 转换为本地日期和时间格式,视环境而定,输出:2017年07月04日 上午10:03:05

4. javascript 没有原生提供但却经常需求使用的功能

根据日期获取当前星期几

//参数 日期
getWeek(day) {
  const weekArr = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];
  return weekArr[day];
}
getWeek(new Date(x).getDay()) 

获取某个时间+1个小时,直接对小时数进行加1可能会溢出,因此先转换成 Date 对象,再使用setHours 改变小时。

new Date(x).setHours(new Date(x).getHours()+1,new Date(x).getMinutes());

为了统一格式,返回日期是10以下,需在前面补0.

function getFull(n) {
  return (n > 9 ? '' : '0') + n;
}
var x = getFull(3); //03
var y = getFull(11);  //11

经常要对日期进行转换,因此增加一个转换格式的函数

Date.prototype.Format = function (fmt) { //author: meizz
    var o = {
      "M+": this.getMonth() + 1, //月份
      "d+": this.getDate(), //日
      "h+": this.getHours(), //小时
      "m+": this.getMinutes(), //分
      "s+": this.getSeconds(), //秒
      "q+": Math.floor((this.getMonth() + 3) / 3), //季度
      "S": this.getMilliseconds() //毫秒
    };
    if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
    for (var k in o)
      if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
    return fmt;
  }
  // 调用:
  var time1 = new Date().Format("yyyy-MM-dd");
  var time2 = new Date().Format("yyyy-MM-dd hh:mm:ss");

以上这篇javascript 玩转Date对象(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 原生JS:Date对象全面解析

    Date对象:基于1970年1月1日(世界标准时间)起的毫秒数 本文参考MDN做的详细整理,方便大家参考MDN 构造函数: 1.new Date(); 依据系统设置的当前时间来创建一个Date对象. 2.new Date(value); value代表自1970年1月1日00:00:00 (世界标准时间) 起经过的毫秒数. 3.new Date(dateString); dateString表示日期的字符串值.该字符串应该能被 Date.parse() 方法识别(符合 IETF-complian

  • javascript中Date对象的使用总结

    JSON 日期转 JS日期,我们知道,日期类型转成JSON之后,返回的数据类似这样: /Date(1379944571737)/ 但是这种日期并不能直接显示,因为根本没有人知道这是什么意思,下面提供一种JSON日期转JS日期的方式. function ConvertJSONDateToJSDate(jsondate) { var date = new Date(parseInt(jsondate.replace("/Date(", "").replace("

  • javascript中Date对象应用之简易日历实现

    前面的话 简易日历作为javascript中Date对象的常见应用,用途较广泛,本文将详细说明简易日历的实现思路. 效果演示 HTML说明  使用type=number的两个input分别作为年和月的输入控件,这样在高级浏览器下自带调节按钮  按照周日到周一的顺序进行星期的排列 <div class="box"> <header class='control'> <input id="conYear" class="con-i

  • Javascript之Date对象详解

    Date对象即日期时间对象,它的主要功能是实现对日期时间的处理 1.创建Date对象 复制代码 代码如下: var myDate = new Date(); 或 复制代码 代码如下: var myDate = new Date("July 21, 1983 01:15:00");//此种方法为自定义日期时间的方式,格式若不对的话为提示Invalid Date Date对象的constructor属性为:Date document.write(myDate.constructor ==

  • JavaScript Date对象详解

    本篇主要介绍 Date 日期和时间对象的操作,具体内容如下 目录 1. 介绍:阐述 Date 对象. 2. 构造函数:介绍 Date 对象的构造函数new Date()几种方式. 3. 实例方法:介绍 Date 对象的get.set等实例方法. 4. 静态方法:介绍 Date 对象的静态方法:Date.now(). Date.parse()等. 5. 实际操作:介绍 Date 对象的一些示例:获取倒计时.比较2个Date对象的大小等等. 一. 介绍 1.1 说明 Date对象,是操作日期和时间的

  • JavaScript Date对象使用总结

    //全局函数 Date //Date 类的静态方法 Date.parse Date.UTC //Date 对象的建立方法 new Date() new Date(毫秒数) new Date(标准时间格式字符串) new Date(年, 月, 日, 时, 分, 秒, 毫秒) //Date 对象的更多方法 getFullYear (getUTCFullYear) getMonth (getUTCMonth) getDate (getUTCDate) getDay (getUTCDay) getHou

  • javascript 玩转Date对象(实例讲解)

    前言:最近在做一个日期选择功能,在日期转换的时候经常换到晕,总结一下常用的Date对象的相关用法,方便日后直接查看使用- 1. new Date()的使用方法有: 不接收任何参数:返回当前时间: 接收一个参数x: 返回1970年1月1日 + x毫秒的值. new Date(1, 1, 1)返回1901年2月1号. new Date(2016, 1, 1)不会在1900年的基础上加2016,而只是表示2016年2月1号. 2. 使用new Date(time) 将时间转换成 Date 对象 注意:

  • JavaScript之创意时钟项目(实例讲解)

    "时钟展示项目"说明文档(文档尾部附有相应代码) 一.最终效果展示: 二.项目亮点 1.代码结构清晰明了 2.可以实时动态显示当前时间与当前日期 3.界面简洁.美观.大方 4.提高浏览器兼容性 三.知识点汇总: jQuery.原生javascript.css3.h5 四.重难点解释 1.各个指针的旋转角度的获取 首先要明确如下概念: 时钟指针旋转一周360度 时针: 表盘上共有12小时,每经过一小时,要旋转30度: 分针: 表盘上共有60个小格子,分针每走一分钟,经过一个小格子,转动6

  • javascript类型系统——日期Date对象全面了解

    前面的话 Date对象是javascript语言中内置的数据类型,用于提供日期和时间的操作接口.Date对象是在早期java中的java.util.Date类基础上创建的,为此,Date类型使用自UTC1970年1月1日0点开始经过的毫秒数来保存日期,它可以表示的时间范围是1970年1月1日0点前后的各1亿天.本文将详细介绍Date对象的用法 静态方法在介绍Date对象的构造函数之前,先介绍静态方法.因为,Date对象的静态方法与其构造函数有着千丝万缕的联系.使用构造函数创建Date对象的过程,

  • JavaScript实现简单的双色球(实例讲解)

    如下所示: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>双色球</title> <link rel="stylesheet" type="text/css" href="css/twoToneClass.css" rel="e

  • 通过Class类获取对象(实例讲解)

    通过Class对象获取对象的方式是通过class.newInstance()方式获取,通过调用默认构造参数实例化一个对象. /** * Created by hunt on 2017/6/27. * 测试的实体类 * @Data 编译后会自动生成set.get.无惨构造.equals.canEqual.hashCode.toString方法 */ @Data public class Person { private String name; private int age; } /** * C

  • javascript表单控件实例讲解

    本文实例为大家分享js表单控件多个实例讲解,供大家参考,具体内容如下 实例一:遍历表单的所有控件 <script type="text/javascript"> //遍历表单的所有控件 function getValues(){ var f = document.forms[0]; //获取表单DOM var elements = f.elements; //获取所有的控件数组 var str = ''; //拼接字符串 //循环遍历 for(var i=0; i<e

  • javascript事件的绑定基础实例讲解(34)

    本文实例为大家分享了js事件绑定的具体代码,供大家参考,具体内容如下 <html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript"> window.onload = function(){ var btn01 = document.getElementById("btn01&quo

  • javascript事件的传播基础实例讲解(35)

    本文实例为大家分享了js事件的传播,供大家参考,具体内容如下 <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> #box1{ width: 300px; height: 300px; background-color: deepskyblue; } #box2{ width: 200px; h

  • JavaScript中的回调函数实例讲解

    在JS中,函数可以作为参数传递给函数,不止可以传递值或者对象,案例如下: 定义: /** *@project: data_overnance *@package: *@date:2018/11/30 0030 15:07 *@author 郭宝 *@brief: 回调函数 */ export default class Person { constructor(){ } /** * 设置名称 * @param nameCallback 传入回调函数 */ setName(nameCallback

  • Javascript开发之三数组对象实例介绍

    var a=new Array(); 如果这样定义:a[3]="a"; alert(a.length) 4 而是的1, 如果定义了,但没有赋值则返回一个undefined (alert(a[0])) 创建数组: 复制代码 代码如下: arr = [];//是的,一个空中括号 //与下面一句几乎是等价的 arr = new Array();var a=new Array(1,"n",3,"m",5,"m",8); var a=[

随机推荐