javascript技巧

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript技巧 > JS 时间 时间戳

JS实现获取时间已经时间与时间戳转换

作者:小小陈丶

这篇文章主要为大家提供了用JavaScript编写的获取时间的类,以及时间戳转时间的三种格式,文中的示例代码讲解详细,感兴趣的可以了解一下

时间戳转换时间或获取日期工具类

获取当前月的第一天

function getCurrentMonthFirst=()=>{
  var date=new Date();
  date.setDate(1);
  return common.getdateNoTime(date);
}

获前取n天日期

function getBeforeDate=()=>{
  var n = n;
  var d = new Date();
  var year = d.getFullYear();
  var mon = d.getMonth() + 1;
  var day = d.getDate();
  if (day <= n) {
    if (mon > 1) {
      mon = mon - 1;
    } else {
      year = year - 1;
      mon = 12;
    }
  }
  d.setDate(d.getDate() - n);
  year = d.getFullYear();
  mon = d.getMonth() + 1;
  day = d.getDate();
  const s = year + '-' + (mon < 10 ? '0' + mon : mon) + '-' + (day < 10 ? '0' + day : day);
  return s;
}

根据两个日期,判断相差天数

/**
 * @zhiparam sDate1 开始日期 如:2016-11-01
 * @param sDate2 结束日期 如:2016-11-02
 * @returns {nDays} 返回相差天数
 */
function daysBetween = (sDate1, sDate2) => {
  var time1 = Date.parse(new Date(sDate1));
  var time2 = Date.parse(new Date(sDate2));
  var nDays = Math.abs(parseInt((time2 - time1) / 1000 / 3600 / 24));
  return nDays;
}

根据bai两个日期,判断相差月数

/**
 * @zhiparam startDate 开始日期 如:2016-11-01
 * @param endStart结束日期 如:2016-11-02
 * @returns {intervalMonth} 返回相差月数
 */
function getIntervalMonth = (startDate, endStart) => {
  var startMonth = new Date(startDate).getMonth();
  var endMonth = new Date(endStart).getMonth();
  var intervalMonth =
    new Date(endStart).getFullYear() * 12 + endMonth - (new Date(startDate).getFullYear() * 12 + startMonth);
  return intervalMonth;
}

获取几个月前的输入日期

/**
 *{param:DateTime} date 输入日期(YYYY-MM-DD)
 *{param:number } monthNum 月数
 */
function getIntervalMonth = (startDate, endStart) => {
  var dateArr = date.split('-');
  var year = dateArr[0]; //获取当前日期的年份
  var month = dateArr[1]; //获取当前日期的月份
  var day = dateArr[2]; //获取当前日期的日
  var days = new Date(year, month, 0);
  days = days.getDate(); //获取当前日期中月的天数
  var year2 = year;
  var month2 = parseInt(month) - monthNum;
  if (month2 <= 0) {
    var absM = Math.abs(month2);
    year2 = parseInt(year2) - Math.ceil(absM / 12 == 0 ? 1 : parseInt(absM) / 12);
    month2 = 12 - (absM % 12);
  }
  var day2 = day;
  var days2 = new Date(year2, month2, 0);
  days2 = days2.getDate();
  if (day2 > days2) {
    day2 = days2;
  }
  if (month2 < 10) {
    month2 = '0' + month2;
  }
  var t2 = year2 + '-' + month2 + '-' + day2;
  return t2;
}

时间戳转换时间

function getdate= (date) => {
  var now = new Date(date),
    y = now.getFullYear(),
    m = now.getMonth() + 1,
    d = now.getDate();
  return y + '-' + (m < 10 ? '0' + m : m) + '-' + (d < 10 ? '0' + d : d) + ' ' + now.toTimeString().substr(0, 8);
}

时间戳转换时间 - 无时分秒

function getdateNoTime= (date) => {
  var now = new Date(date),
    y = now.getFullYear(),
    m = now.getMonth() + 1,
    d = now.getDate();
  return y + '-' + (m < 10 ? '0' + m : m) + '-' + (d < 10 ? '0' + d : d);
}

时间戳转换时间-无日期

function getdateTime= (date) => {
  var now = new Date(date),
    y = now.getFullYear(),
    m = now.getMonth() + 1,
    d = now.getDate();
  return now.toTimeString().substr(0, 8);
}

获取当前日期

function formatting= (time) => {
  let date = new Date();
  if (time !== undefined) {
    date = new Date(time);
  }
  const seperator1 = '-';
  const year = date.getFullYear();
  let month = date.getMonth() + 1;
  let strDate = date.getDate();
  if (month >= 1 && month <= 9) {
    month = `0${month}`;
  }
  if (strDate >= 0 && strDate <= 9) {
    strDate = `0${strDate}`;
  }
  const currentdate = year + seperator1 + month + seperator1 + strDate;
  return currentdate;
}

到此这篇关于JS实现获取时间已经时间与时间戳转换的文章就介绍到这了,更多相关JS 时间 时间戳内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文