import dateUtil from '../../utils/date'; export const toDate = function(date) { date = new Date(date); if (isNaN(date.getTime())) return null; return date; }; export const formatDate = function(date, format) { date = toDate(date); if (!date) return ''; return dateUtil.format(date, format || 'yyyy-MM-dd'); }; export const parseDate = function(string, format) { return dateUtil.parse(string, format || 'yyyy-MM-dd'); }; export const getDayCountOfMonth = function(year, month) { return new Date(year, month + 1, 0).getDate(); }; export const getFirstDayOfMonth = function(date) { const temp = new Date(date.getTime()); temp.setDate(1); return temp.getDay(); }; export const siblingMonth = function(src, diff) { const temp = new Date(src); // lets copy it so we don't change the original const newMonth = temp.getMonth() + diff; const newMonthDayCount = getDayCountOfMonth(temp.getFullYear(), newMonth); if (newMonthDayCount < temp.getDate()) { temp.setDate(newMonthDayCount); } temp.setMonth(newMonth); return temp; }; export const prevMonth = function(src) { return siblingMonth(src, -1); }; export const nextMonth = function(src) { return siblingMonth(src, 1); }; export const initTimeDate = function() { const date = new Date(); date.setHours(0); date.setMinutes(0); date.setSeconds(0); return date; };