博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用js函数获取当前年月日时分秒,月初月末,和前一个月时间
阅读量:4030 次
发布时间:2019-05-24

本文共 5522 字,大约阅读时间需要 18 分钟。

获取具体的时分秒的函数:

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

eg:

js获取当前月份第一天:

var date = new Date();        date.setDate(1);        var month = parseInt(date.getMonth()+1);        var day = date.getDate();        if (month < 10) {
month = '0' + month } if (day < 10) {
day = '0' + day } console.log(date.getFullYear() + '-' + month + '-' + day) // 格式:2020-10-01

js获取当前月份最后一天:

var endDate=new Date();        var currentMonth=endDate.getMonth();        var nextMonth=++currentMonth;        var nextMonthFirstDay=new Date(endDate.getFullYear(),nextMonth,1);        var oneDay=1000*60*60*24;        var lastTime = new Date(nextMonthFirstDay-oneDay);        var endMonth = parseInt(lastTime.getMonth()+1);        var endDay = lastTime.getDate();        if (endMonth < 10) {
endMonth = '0' + endMonth } if (endDay < 10) {
endDay = '0' + endDay } console.log(endDate.getFullYear() + '-' + endMonth + '-' + endDay) //格式:2020-10-31

开发过程中某些前台页面的时间控件我们需要给默认当前时间,jquery可以轻松的帮我们实现,代码如下:

//昨天的时间 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());

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

1  //昨天的时间 2  var day1 = new Date();3  day1.setDate(day1.getDate() - 1);4  var s1 = day1.format("yyyy-MM-dd");5  //前天的时间6  var day2 = new Date();7  day2.setDate(day2.getDate() - 2);8  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;}

自己写好的获取当前日期的代码(有注释):

// 获取今天日期  var today = new Date()      var month1 = parseInt(today.getMonth() + 1)      var day1 = today.getDate()      if ((today.getMonth() + 1) < 10) {
month1 = '0' + month1 } if (day1 < 10) {
day1 = '0' + day1 } this.todayDate = today.getFullYear() + '-' + month1 + '-' + day1 // 获取上个月当前日期 const lastMonth = new Date(today.setDate(today.getDate() - 30)) var month2 = parseInt(lastMonth.getMonth() + 1) var day2 = lastMonth.getDate() if (month2 < 10) {
month2 = '0' + month2 } if (day2 < 10) {
day2 = '0' + day2 } this.monthDate = lastMonth.getFullYear() + '/' + month2 + '/' + day2 // 获取本月初日期 var date = new Date() date.setDate(1) var month = parseInt(date.getMonth() + 1) var day = date.getDate() if (month < 10) {
month = '0' + month } if (day < 10) {
day = '0' + day } this.beginmonthDate = date.getFullYear() + '-' + month + '-' + day // 获取本月末日期 var endDate = new Date() var currentMonth = endDate.getMonth() var nextMonth = ++currentMonth var nextMonthFirstDay = new Date(endDate.getFullYear(), nextMonth, 1) var oneDay = 1000 * 60 * 60 * 24 var lastTime = new Date(nextMonthFirstDay - oneDay) var endMonth = parseInt(lastTime.getMonth() + 1) var endDay = lastTime.getDate() if (endMonth < 10) {
endMonth = '0' + endMonth } if (endDay < 10) {
endDay = '0' + endDay } this.endmonthDate = endDate.getFullYear() + '-' + endMonth + '-' + endDay // 获取上月初日期 var firstdate = new Date(new Date().getFullYear(), new Date().getMonth() - 1, 1) this.beginLastmonthDate = firstdate.getFullYear() + '/' + (firstdate.getMonth() + 1) + '/' + firstdate.getDate() // 获取上月末日期 var date = new Date() var day = new Date(date.getFullYear(), date.getMonth(), 0).getDate() var enddate = new Date(new Date().getFullYear(), new Date().getMonth() - 1, day) this.enddate = enddate.getFullYear() + '/' + (enddate.getMonth() + 1) + '/' + enddate.getDate()

转载地址:http://rmlbi.baihongyu.com/

你可能感兴趣的文章
Windows 7 下安装sqlite数据库
查看>>
sqlite中一些常用的命令及解释
查看>>
数据库SQL优化大总结之 百万级数据库优化方案
查看>>
Windows下安装MySQL解压缩版
查看>>
企业级监控管理平台建设密谈
查看>>
新基建
查看>>
Google SRE Four Golden Signals
查看>>
统一智能运维管理平台
查看>>
任正非告别荣耀讲话—-陌生的感动
查看>>
什么是POC
查看>>
标记一下
查看>>
一个ahk小函数, 实现版本号的比较
查看>>
IP报文格式学习笔记
查看>>
autohotkey快捷键显示隐藏文件和文件扩展名
查看>>
Linux中的进程
查看>>
学习笔记4——猜数字游戏,随机数
查看>>
学习python(1)——环境与常识
查看>>
学习设计模式(3)——单例模式和类的成员函数中的静态变量的作用域
查看>>
学习设计模式(5)——装饰器模式
查看>>
学习设计模式(6)——建造者模式
查看>>