te')); return $arr; } /* 遍历用户所有主题 * @param $uid 用户ID * @param int $page 页数 * @param int $pagesize 每页记录条数 * @param bool $desc 排序方式 TRUE降序 FALSE升序 * @param string $key 返回的数组用那一列的值作为 key * @param array $col 查询哪些列 */ function thread_tid_find_by_uid($uid, $page = 1, $pagesize = 1000, $desc = TRUE, $key = 'tid', $col = array()) { if (empty($uid)) return array(); $orderby = TRUE == $desc ? -1 : 1; $arr = thread_tid__find($cond = array('uid' => $uid), array('tid' => $orderby), $page, $pagesize, $key, $col); return $arr; } // 遍历栏目下tid 支持数组 $fid = array(1,2,3) function thread_tid_find_by_fid($fid, $page = 1, $pagesize = 1000, $desc = TRUE) { if (empty($fid)) return array(); $orderby = TRUE == $desc ? -1 : 1; $arr = thread_tid__find($cond = array('fid' => $fid), array('tid' => $orderby), $page, $pagesize, 'tid', array('tid', 'verify_date')); return $arr; } function thread_tid_delete($tid) { if (empty($tid)) return FALSE; $r = thread_tid__delete(array('tid' => $tid)); return $r; } function thread_tid_count() { $n = thread_tid__count(); return $n; } // 统计用户主题数 大数量下严谨使用非主键统计 function thread_uid_count($uid) { $n = thread_tid__count(array('uid' => $uid)); return $n; } // 统计栏目主题数 大数量下严谨使用非主键统计 function thread_fid_count($fid) { $n = thread_tid__count(array('fid' => $fid)); return $n; } ?>javascript - dayjs - not a function - Stack Overflow
最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - dayjs - not a function - Stack Overflow

programmeradmin2浏览0评论

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 have Vars.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
Add a ment  | 

2 Answers 2

Reset to default 7

Make 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:

  1. add() should be called like dayjs().add(2, 'month')
  2. Your were trying to call diff() on a string (the output of dayjs().format()) rather than a Dayjs 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
发布评论

评论列表(0)

  1. 暂无评论