js获取当前日期,本月/本周第一天和最后一天&&格式转换

new Date 对象说明

var Nowdate=new Date();
Nowdate.getYear();        //获取当前年份(2位)
Nowdate.getFullYear();    //获取完整的年份(4位,1970-????)
Nowdate.getMonth();       //获取当前月份(0-11,0代表1月)
Nowdate.getDate();        //获取当前日(1-31)
Nowdate.getDay();         //获取当前星期X(0-6,0代表星期天)
Nowdate.getTime();        //获取当前时间(从1970.1.1开始的毫秒数)
Nowdate.getHours();       //获取当前小时数(0-23)
Nowdate.getMinutes();     //获取当前分钟数(0-59)
Nowdate.getSeconds();     //获取当前秒数(0-59)
Nowdate.getMilliseconds();    //获取当前毫秒数(0-999)
Nowdate.toLocaleDateString();     //获取当前日期
Nowdate.toLocaleString( );        //获取日期与时间

获取当前时间

var Nowdate=new Date();
var nowTime=Nowdate.toLocaleTimeString();    

格式为 2020-12-10 如果为2020-1-1 补齐为 2020-01-01

获取本周第一天和第二天

当前时间为 2020-12-10 输出:2020-12-07 2020-12-13

var Nowdate=new Date();
var WeekFirstDay=new Date(Nowdate-(Nowdate.getDay()-1)*86400000); // 本周第一天
var WeekLastDay=new Date((WeekFirstDay/1000+6*86400)*1000);// 本周第最后一天
// 本周第一天
let yearState=WeekFirstDay.getFullYear()
let monthState=(WeekFirstDay.getMonth()+1)<10?"0"+(WeekFirstDay.getMonth()+1):(WeekFirstDay.getMonth()+1)
let todayState=(WeekFirstDay.getDate()<10?"0"+WeekFirstDay.getDate():WeekFirstDay.getDate())
// 本周第一天
let yearEnd=WeekLastDay.getFullYear()
let monthEnd=(WeekLastDay.getMonth()+1)<10?"0"+(WeekLastDay.getMonth()+1):(WeekLastDay.getMonth()+1)
let todayEnd=(WeekLastDay.getDate()<10?"0"+WeekLastDay.getDate():WeekLastDay.getDate())

获取本月第一天和第二天 格式为 2020-12-10 如果为2020-1-1 补齐为 2020-01-01

当前时间为 2020-12-10 输出:2020-12-01 2020-12-31

var Nowdate=new Date();
var MonthFirstDay=new Date(Nowdate.getFullYear(),Nowdate.getMonth(),1);
var MonthNextFirstDay=new Date(Nowdate.getFullYear(),Nowdate.getMonth()+1,1);
var MonthLastDay=new Date(MonthNextFirstDay-86400000);
// 本月第一天
let yearState=MonthFirstDay.getFullYear()
let monthState=(MonthFirstDay.getMonth()+1)<10?"0"+(MonthFirstDay.getMonth()+1):(MonthFirstDay.getMonth()+1)
let todayState=(MonthFirstDay.getDate()<10?"0"+MonthFirstDay.getDate():MonthFirstDay.getDate())
// 本月最后一天
let yearEnd=MonthLastDay.getFullYear()
let monthEnd=(MonthLastDay.getMonth()+1)<10?"0"+(MonthLastDay.getMonth()+1):(MonthLastDay.getMonth()+1)
let todayEnd=(MonthLastDay.getDate()<10?"0"+MonthLastDay.getDate():MonthLastDay.getDate())
/**
 * 转换时间为字符串(格式)
 * @param {(Object|string|number)} time
 * @param {string} cFormat
 * @returns {string}
 */
export function parseTime(time, cFormat) {
  if (arguments.length === 0) {
    return null
  }
  const format = cFormat || '{y}-{m}-{d} {h}:{i}:{s}'
  let date
  if (typeof time === 'object') {
    date = time
  } else {
    if ((typeof time === 'string') && (/^[0-9]+$/.test(time))) {
      time = parseInt(time)
    }
    if ((typeof time === 'number') && (time.toString().length === 10)) {
      time = time * 1000
    }
    date = new Date(time)
  }
  const formatObj = {
    y: date.getFullYear(),
    m: date.getMonth() + 1,
    d: date.getDate(),
    h: date.getHours(),
    i: date.getMinutes(),
    s: date.getSeconds(),
    a: date.getDay()
  }
  const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => {
    let value = formatObj[key]
    // Note: getDay() returns 0 on Sunday
    if (key === 'a') {
      return ['日', '一', '二', '三', '四', '五', '六'][value]
    }
    if (result.length > 0 && value < 10) {
      value = '0' + value
    }
    return value || 0
  })
  return time_str
}
this.parseTime(new Date(), "{y}-{m}-{d}") // 获取当前时间
	
	// 当前日期间隔一个月
    let now = new Date();
    let endDate = this.parseTime(now, "{y}-{m}-{d}");
    now.setMonth(now.getMonth() - 1);
    let beginDate = this.parseTime(now, "{y}-{m}-{d}");
    let time = [beginDate,endDate];
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值