JS获取当前时间的实例代码(昨天、今天、明天)

 更新时间:2023年05月13日 08:19:24   作者:心之所向便是光  
这篇文章主要介绍了JS获取当前时间的实例代码(昨天、今天、明天) ,需要的朋友可以参考下

js 日期 获取今天、昨天、明天第一个函数

  function getDay(day){
    var today = new Date()
    // 获取时间戳(毫秒级)
    /*
      day为1,则是,明天的时间戳
      day为-1,则是,昨天的时间戳
      day为-2,则是,前天的时间戳
    */
    var targetday_milliseconds = today.getTime() + 1000 * 60 * 60 * 24 * day
    // Date.setTime(时间戳):设置当前日期的时间
    today.setTime(targetday_milliseconds)
    console.log('today=', today) // today= Sun Mar 05 2023 16:14:56 GMT+0800 (中国标准时间)
    var tYear = today.getFullYear() // 年
    var tMonth = today.getMonth() // 月
    var tDate = today.getDate() // 日
    tMonth = this.doHandleMonth(tMonth + 1)
    tDate = this.doHandleMonth(tDate)
    console.log('返回年月日=', tYear + '-' + tMonth + '-' + tDate)
    return tYear + '-' + tMonth + '-' + tDate
  }
  function doHandleMonth(month) {
    var m = month
    if (month.toString().length == 1) {
      m = '0' + month
    }
    return m
  }

js获取今天昨天明天的日期第二个函数

/* 
  * @params date 日期
  * @params type 日期 prev/current/next 昨天/今天/明天
  * @params fmt 日期拼接符
*/
function getDays(date, type, fmt) {
    let currentDate = new Date(date)
    let y = currentDate.getFullYear()
    let m = currentDate.getMonth() + 1
    let d = currentDate.getDate()
    function dateFormat(date, fmt) {
        let y = new Date(date).getFullYear()
        let m = new Date(date).getMonth() + 1
        let d = new Date(date).getDate()
        return `${y}${fmt}${m}${fmt}${d}`
    }
    switch (type) {
        case "prev":
            if (d - 1 < 1) {
                if (m - 1 < 1) {
                    y = y - 1
                    m = 12
                } else {
                    m = m - 1
                }
                d = new Date(y, m, 0).getDate()
            } else {
                d = d - 1
            }
            break
        case "current":
            break
        case "next":
            if (d + 1 > new Date(y, m, 0).getDate()) {
                if (m + 1 > 12) {
                    y = y + 1
                    m = 1
                    d = 1
                } else {
                    m = m + 1
                    d = 1
                }
            } else {
                d = d + 1
            }
            break;
    default:
      break;
    }
    return dateFormat(new Date(`${y}-${m}-${d}`), fmt)
}
console.log(getDays(new Date('2023-5-13'), "prev", "-"));
console.log(getDays(new Date('2023-5-30'), "next", "-"));
console.log(getDays(new Date('2023-5-31'), "next", "-"));

1、时间格式化

//昨天的时间
 var day1 = new Date();
 day1.setTime(day1.getTime()-24*60*60*1000);
 var s1 = day1.getFullYear()+"-" + (day1.getMonth()+1) + "-" + day1.getDate();
 //今天的时间
 var day2 = new Date();
 day2.setTime(day2.getTime());
 var s2 = day2.getFullYear()+"-" + (day2.getMonth()+1) + "-" + day2.getDate();
 //明天的时间
 var day3 = new Date();
 day3.setTime(day3.getTime()+24*60*60*1000);
 var s3 = day3.getFullYear()+"-" + (day3.getMonth()+1) + "-" + day3.getDate();
 //拼接时间
 function show(){
  var str = "" + s1 + "至" + s2;
  return str;
 }
 //赋值doubleDate
 $('#dateS').val(show());

2、下面是具体到时分秒的获取方法

function writeCurrentDate() {
   var now = new Date();
   var year = now.getFullYear(); //得到年份
   var month = now.getMonth();//得到月份
   var date = now.getDate();//得到日期
   var day = now.getDay();//得到周几
   var hour = now.getHours();//得到小时
   var minu = now.getMinutes();//得到分钟
   var sec = now.getSeconds();//得到秒
     var MS = now.getMilliseconds();//获取毫秒
   var week;
   month = month + 1;
   if (month < 10) month = "0" + month;
   if (date < 10) date = "0" + date;
   if (hour < 10) hour = "0" + hour;
   if (minu < 10) minu = "0" + minu;
   if (sec < 10) sec = "0" + sec;
   if (MS < 100)MS = "0" + MS;
   var arr_week = new Array("星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六");
   week = arr_week[day];
   var time = "";
   time = year + "年" + month + "月" + date + "日" + " " + hour + ":" + minu + ":" + sec + " " + week;
   //当前日期赋值给当前日期输入框中(jQuery easyUI)
   $("#currentDate").html(time);
   //设置得到当前日期的函数的执行间隔时间,每1000毫秒刷新一次。
   var timer = setTimeout("writeCurrentDate()", 1000);
  }

3、2017.6.27更新

今天又发现了一种简单的方法:可以直接对年月日时分秒进行操作,假如今天2017-06-01 那么所得昨天为 2017-05-31

 //昨天的时间 
 var day1 = new Date();
 day1.setDate(day1.getDate() - 1);
 var s1 = day1.format("yyyy-MM-dd");
 //前天的时间
 var day2 = new Date();
 day2.setDate(day2.getDate() - 2);
 var s2 = day2.format("yyyy-MM-dd");

其中,format函数为扩展函数。

/**
 *对Date的扩展,将 Date 转化为指定格式的String
 *月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
 *年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
 *例子:
 *(new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423
 *(new Date()).Format("yyyy-M-d h:m:s.S")  ==> 2006-7-2 8:9:4.18
 */
 Date.prototype.format = function (fmt) {
  var o = {
   "M+": this.getMonth() + 1, //月份
   "d+": this.getDate(), //日
   "h+": this.getHours(), //小时
   "m+": this.getMinutes(), //分
   "s+": this.getSeconds(), //秒
   "q+": Math.floor((this.getMonth() + 3) / 3), //季度
   "S": this.getMilliseconds() //毫秒
  };
  if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
  for (var k in o)
   if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
  return fmt;
 }

4、页面日期 2017-06-27 变 20170627      “2017-06-27”.replace(/-/g,"")。、

补充:js获取ISO8601规范时间

var d = new Date();
d.setHours(d.getHours(), d.getMinutes() - d.getTimezoneOffset());
console.log(d.toISOString())

总结

以上所述是小编给大家介绍的JS获取当前时间的实例代码(昨天、今天、明天) ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • 微信小程序实现拍照和相册选取图片

    微信小程序实现拍照和相册选取图片

    这篇文章主要为大家详细介绍了微信小程序实现拍照和相册选取图片,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-05-05
  • 用js简单提供增删改查接口

    用js简单提供增删改查接口

    这篇文章主要介绍了用js简单提供增删改查接口,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • JavaScript获得input元素value值的方法

    JavaScript获得input元素value值的方法

    在页面中我们最常见的页面元素就是input了,但是我们如何用JavaScript得到网页input中输入的value值呢,其实很简单,方法也不止一种,今天给大家分享两种JavaScript获得input元素value值的方法,感兴趣的朋友跟随小编一起看看吧
    2023-10-10
  • 微信小程序自定义弹框效果

    微信小程序自定义弹框效果

    这篇文章主要为大家详细介绍了微信小程序自定义弹框效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • JavaScript利用Immerjs实现不可变数据

    JavaScript利用Immerjs实现不可变数据

    Immerjs 是一个用于管理 JavaScript 不可变数据结构的库,它可以帮助我们更轻松地处理状态的变化,并减少冗余代码。本文就来带大家揭秘如何利用Immerjs实现不可变数据,感兴趣的可以了解一下
    2023-04-04
  • js判断对象是否拥有某个key的两种方法对比

    js判断对象是否拥有某个key的两种方法对比

    JS中数组和对象是等同的,我们经常遇到需要判断一个key是否存在于对象中的情况,这篇文章主要给大家介绍了关于如何利用js判断对象是否拥有某个key的两种方法对比,需要的朋友可以参考下
    2023-12-12
  • javascript实现的动态添加表单元素input,button等(appendChild)

    javascript实现的动态添加表单元素input,button等(appendChild)

    这篇文章给大家介绍了javascript实现的动态添加表单元素input,button等(appendChild)的实例代码,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
    2007-11-11
  • JSON 数据详解及实例代码分析

    JSON 数据详解及实例代码分析

    这篇文章主要介绍了JSON 数据详解及实例代码分析的相关资料,需要的朋友可以参考下
    2017-01-01
  • 在JavaScript中使用Promise.allSettled()的方法

    在JavaScript中使用Promise.allSettled()的方法

    Promise.allSettled()是一个游戏规则改变者,让您等待所有承诺得到解决(解决或拒绝),然后根据结果采取行动,这篇文章主要介绍了如何在JavaScript中使用Promise.allSettled(),需要的朋友可以参考下
    2023-07-07
  • 微信小程序复选框实现多选一功能过程解析

    微信小程序复选框实现多选一功能过程解析

    这篇文章主要介绍了微信小程序复选框实现多选一功能过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02

最新评论