09.Date

九、Date

9.1 了解时间
  • GMT:格林尼治标准时(Greenwich Mean Time),俗称“天文学时间”
  • UTC:协调世界时(Universal Time Coordinated),“原子物理时间”,它更加精确,50亿年才误差1秒
  • 时区:为了克服时间上的混乱,1884年在华盛顿召开的一次国际经度会议(又称国际子午线会议[1])上,规定将全球划分为24个时区(东、西各12个时区)。规定英国(格林尼治天文台旧址)为中时区(零时区)、东1-12区,西1-12区。每个时区横跨经度15度,时间正好是1小时
  • 闰年:四年一闰,百年不闰,四百年再闰
  • 纪元时间(UNIX TIME):1970-1-1零时
9.2 创建日期时间
//1)创建当前时间的日期和时间
var d = new Date();//得到的是代码执行时的时间(本地时间)

//2)创建指定日期的时间和日期
var d = new Date("2015/08/22");
var d = new Date(56521211021);//参数为距1970-1-1零时的毫秒数
9.3 获取/设置时间
  • 获取年月日
  • getFullYear()/setFullYear(2014)
  • getMonth()/setMonth(8)注意:获取月份是从0开始的
  • getDate()/setDate(25)
  • 获取星期
  • getDay() 0-6:星期天-星期六
  • 获取时分秒
  • getHours()/setHours()
  • getMinutes()/setMinutes()
  • getSeconds()/setSeconds()
9.4 日期处理
  • getTime()/setTime():获取/修改某个日期自1970年1月1日0时以来的毫秒数
  • toLocaleDateString(); 以特定地区格式显示年、月、日
  • toUTCString(); 转换成UTC时间

ES5方法

  • Date.parse(“2015-08-24”)//返回指定日期距1970-1-1零时的毫秒数

PS:转换格式默认支持2015-08-24或2015/08/24

  • Date.now();//返回执行这行代码时距1970-1-1零时的毫秒数
9.5 延迟与定时器(重要)
  • setTimeout(fn,200):两百毫秒后执行fn这个函数(只执行一次),返回一个id标识
  • clearTimeout(timeoutID):清除指定id标识的延迟操作
  • setInterval(fn,30):每隔30毫秒执行一次fn这个函数,返回一个id标识
  • clearInterval(intervalID):清除指定id标识的定时器操作
	var timer = setTimeout(function(){
		//2s后执行这里的代码
	},2000);

	//清除
	clearTimeout(timer);

日期格式化

/**
 * 该方法返回日期的格式  yyyy-MM-dd HH:mm:ss
 * @param num  如果用户传入了参数那么就返回用户所需要的日期对应的格式,
 *             如果用户没有传入, 那么就返回当前返回当前系统日期
 */
function formatDate(num,format) {
    var date = null;
    // 用户传入num
    if(num) {
        date = new Date(num);
    }else { // 用户没有传入
        date = new Date();
    }

    var year = date.getFullYear(); //年份
    var month = date.getMonth(); //月份
    var day = date.getDate(); //获取日期

    var hour = date.getHours(); //小时
    var minute = date.getMinutes();  //分钟
    var second = date.getSeconds(); //获取秒

    // var fullMonth = (month + 1) < 10 ? '0' + (month + 1) : (month + 1);

    var fullMonth = getNumFullFormate(month + 1); //获取月份的完整格式
    var fullDay = getNumFullFormate(day);
    var fullHour = getNumFullFormate(hour);
    var fullMinute = getNumFullFormate(minute);
    var fullSecond = getNumFullFormate(second);

    if(format && ''!=format){
        if('yyyy-MM-dd'==format){
            return year + "-" + fullMonth + "-" + fullDay;
        }
        if('yyyy-MM-dd HH:mm:ss'==format){
            return year + "-" + fullMonth + "-" + fullDay + " " + fullHour + ":" + fullMinute + ":" + fullSecond;
        }
    }
    // 2020-01-23 12:12:23
    return year + "-" + fullMonth + "-" + fullDay + " " + fullHour + ":" + fullMinute + ":" + fullSecond;
}

function getNumFullFormate(num) {
    return num < 10 ? '0' + num : num;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值