獲取年月日

2021-09-13 21:04:46 字數 952 閱讀 4995

需求:獲取當前日期的前乙個月份

當月有 31 天時,js 日期物件 setmonth 問題

當前日期如果不是 31 號, 是沒問題的,是 31 號就會有問題:

// 比如今天是 2018-09-30 號,前乙個月應該是 2018-08-30 

let now = new date(new date("2018-09-30").setmonth(new date("2018-09-30").getmonth() - 1))

console.log('now :', now.tolocalestring())

// now : 2018/8/30 上午8:00:00

// 比如今天是 2018-10-31 號,前乙個月沒有 31 號,所以結果 2018-10-01:

let now = new date(new date("2018-10-31").setmonth(new date("2018-10-31").getmonth() - 1))

console.log('now :', now.tolocalestring())

// now : 2018/10/1 上午8:00:00

2.1 方法一

原理: 當前時間減去當前時間的天數

function initlastmonth(date) 

initlastmonth("2018-10-31")

// newdate : 2018/9/30 上午8:00:00

2.2 方法二

原理: setmonth 之前先 setdate(1)

function initlastmonth(date) 

initlastmonth("2018-10-31")

// 2018/9/1 上午8:00:00

js Date 獲取 年 月 日

var mydate new date mydate.getyear 獲取當前年份 2位 mydate.getfullyear 獲取完整的年份 4位,1970 mydate.getmonth 獲取當前月份 0 11,0代表1月 mydate.getdate 獲取當前日 1 31 mydate.get...

Java Calendar獲取年 月 日 時間

calendar c calendar.getinstance timezone.gettimezone gmt 08 00 獲取東八區時間 int year c.get calendar.year 獲取年 int month c.get calendar.month 1 獲取月份,0表示1月份 i...

Calendar獲取年 月 日 時間

calendar c calendar.getinstance timezone.gettimezone gmt 08 00 獲取東八區時間 int year c.get calendar.year 獲取年 int month c.get calendar.month 1 獲取月份,0表示1月份 i...