TypeError: moment().tz is not a function
When testing using jasmine, I am getting this error.
TypeError: moment.tz is not a function
My code that I try to test is
let myDate = moment().tz(undefined, vm.timeZone).format('YYYY-MM-DD');
Solution 1:
Fix
If you're using Node.js, you may accidentally be using
const moment = require('moment');
//moment
instead of
const moment = require('moment-timezone');
//moment-timezone
Also, make sure you have installed moment-timezone with
npm install moment-timezone --save
Explanation
The bug of requiring moment without timezones could occur by installing moment with require('moment')
, later deciding to npm install moment-timezone
, and then forgetting to update the require
.
Solution 2:
Below code for me...
import moment from 'moment';
import 'moment-timezone';