I'm passing two dayjs date to Vars.date global variables.
var dayjs = require("dayjs") for import
Vars.date1 = dayjs(whateverdate1("add", 2)).format('MMM D, YYYY')
Vars.date2 = dayjs(whateverdate2("add", 2)).format('MMM D, YYYY')
const date1 = Vars.date1
const date2 = Vars.date2
let diff = date1.diff(date2, 'month')
console.log('diff' + diff)
error: TypeError: date1.diff is not a function
I am unable to use diff and get methods, always 'not a function'
What did I miss?
I'm passing two dayjs date to Vars.date global variables.
var dayjs = require("dayjs") for import
Vars.date1 = dayjs(whateverdate1("add", 2)).format('MMM D, YYYY')
Vars.date2 = dayjs(whateverdate2("add", 2)).format('MMM D, YYYY')
const date1 = Vars.date1
const date2 = Vars.date2
let diff = date1.diff(date2, 'month')
console.log('diff' + diff)
error: TypeError: date1.diff is not a function
I am unable to use diff and get methods, always 'not a function'
What did I miss?
Share Improve this question edited Feb 6, 2022 at 0:31 arena asked Feb 5, 2022 at 6:42 arenaarena 3781 gold badge6 silver badges27 bronze badges 5- What is Vars.date? Where are you getting it from? Can you console log date2 and date1 so I can see what heir values are? – ImDarkk Commented Feb 5, 2022 at 7:06
-
diff
is available on dayjs object. From your code, your haveVars.date
which we have no info on, plus I don't think it is an instance of DayJS object, hence, this error. – Kanishk Anand Commented Feb 5, 2022 at 8:11 - Sorry guys, @ImDarkk I missed those lines. I edited my original question. It seems to me, those are dayjs objects... – arena Commented Feb 6, 2022 at 0:37
- It turned out, Vars.date was not a dayjs object, as you guys mentioned. I guessed the Vars.date = dayjs(whatever) returns a dayjs object, but it seems not. using dayjs method on that solved the problem. I wanna accept an answer, please post it and will accept it. thanks – arena Commented Feb 7, 2022 at 18:53
- @brobee You should be allowed to answer and accept your own question – Tyler Dane Commented May 25, 2022 at 16:31
2 Answers
Reset to default 7Make sure that Day.js supports the require()
function. If it is import
-based, you need to maybe change the import to that.
So, just try doing the following.
import dayjs from "dayjs";
Links
- npm Package
- Official Day.js website
I think you had two problems:
add()
should be called likedayjs().add(2, 'month')
- Your were trying to call
diff()
on a string (the output ofdayjs().format()
) rather than aDayjs
object
Here's how you can create two dayjs objects and find their difference in months:
const dayjs = require("dayjs")
// or:
// import dayjs from "dayjs";
const date1 = dayjs() // Dayjs object of current month
const date2 = dayjs().add(2, "month") // Dayjs object of 2 months from now
date2.diff(date1, "month") // 2