JS获取当前时间或前多少天

282 阅读1分钟
// day: 前多少天(0:当天, -1:前一天, 1:后一天)   hour: 是否加时分秒 0不加 1加
function getTimeDate(day, hour) {
  // 获取中国标准时间
  let todayTime = new Date();
  // 获取前day天的时间戳毫秒数
  let newsTime = todayTime.getTime() + 1000 * 60 * 60 * 24 * day;
  // 向 1970年01月01日 添加 newsTime毫秒,并显示新的中国标准时间
  todayTime.setTime(newsTime);
  // 年月日
  let tYear = todayTime.getFullYear();
  let tMonth = todayTime.getMonth();
  let tDate = todayTime.getDate();
  let newYear = tYear;
  let newtMonth = tMonth + 1;
  let newtDate = tDate;
  newtMonth.toString().length == 1 ? (newtMonth = "0" + newtMonth) : "";
  newtDate.toString().length == 1 ? (newtDate = "0" + newtDate) : "";
  // 时分秒
  let newHours =
    todayTime.getHours().toString().length == 1
      ? "0" + todayTime.getHours()
      : todayTime.getHours();
  let newMinutes =
    todayTime.getMinutes().toString().length == 1
      ? "0" + todayTime.getMinutes()
      : todayTime.getMinutes();
  let newSeconds =
    todayTime.getSeconds().toString().length == 1
      ? "0" + todayTime.getSeconds()
      : todayTime.getSeconds();
  if (hour == 0) {
    return newYear + "-" + newtMonth + "-" + newtDate;
  } else {
    // 注意:' '中间有个空格
    return newYear + "-" + newtMonth + "-" + newtDate + ' ' + newHours + ':' + newMinutes + ':' + newSeconds;
  } 
}