记录--js时间格式化以及自然月(系统时间或时间戳)

封装格式化方法
time.js
引入需要使用的文件

import {formatDate} from '../../assets/js/time.js';

使用

formatDate(new Date())
// 转换年月日
export function formatDate(date) {
    var date = new Date(inputTime)
    var y = date.getFullYear()
    var m = date.getMonth() + 1
    m = m < 10 ? '0' + m : m
    var d = date.getDate()
    d = d < 10 ? '0' + d : d
    return y + '-' + m + '-' + d
}
// 转换年月日时分秒
export function formatDateTime (date) {
    var date = new Date(inputTime)
    var y = date.getFullYear()
    var m = date.getMonth() + 1
    m = m < 10 ? '0' + m : m
    var d = date.getDate()
    d = d < 10 ? '0' + d : d
    var h = date.getHours()
    h = h < 10 ? '0' + h : h
    var minute = date.getMinutes()
    var second = date.getSeconds()
    minute = minute < 10 ? '0' + minute : minute
    second = second < 10 ? '0' + second : second
    return y + '-' + m + '-' + d + ' ' + h + ':' + minute + ':' + second
  }
  // 计算自然月
export function addMonth (num,sdate) {
	//日期不传默认为当前日期
	var d = sdate || new Date();
	//当前月份
	var oldMonth = d.getMonth();
	//当前几号
	var oldDay = d.getDate();
	//每月多少天,平年
	var days = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
	//闰年二月为29天
	var fullYear = d.getFullYear();
	if ((fullYear % 4 == 0 && fullYear % 100 != 0) || fullYear % 400 == 0) {
		days[1] = 29;
	}
	//加月,设置月为:当前月份+要加的月数
	d.setMonth(oldMonth + num);
	//计算月日
	var newDay = d.getDate();
	if (oldDay == days[oldMonth]) {
		if(newDay != oldDay){
			//设置新日期为:新日期的上个月的最后一天
			d.setDate(0);
		}else{
			//设置为当月最后一天
			d.setDate(1);
			d.setMonth(d.getMonth()+1);
			d.setDate(0);
		}
	}
	//输出年月日,月日不足10前面补0
	var y = d.getFullYear();
	var m = d.getMonth() + 1;
	var dd = d.getDate();
	if (m < 10) {
		m = '0' + m;
	}
	if (dd < 10) {
		dd = '0' + dd;
	}
	return y + "-" + m + "-" + dd;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值