????

Your IP : 13.58.242.216


Current Path : C:/inetpub/vhost/sdoc.gdtsolutions.vn/package/app/utils/
Upload File :
Current File : C:/inetpub/vhost/sdoc.gdtsolutions.vn/package/app/utils/date.js

const { parse, parseISO, lightFormat, isValid } = require('date-fns');

/**
 * 
 * @param {Date | number | string} date 
 */
module.exports.isValid = (date) => {
  return isValid(typeof date === 'string' ? parseISO(date) : date)
}
/**
 * Convert chuỗi ngày tháng sang kiểu Date của JS
 * @param {Date | string} dateInput chuỗi ngày tháng định dạng dd/MM/yyyy
 * @param {Date | null} defaultVal giá trị mặt định
 * @returns {Date | null} 
 */
module.exports.toDate = (dateInput, defaultVal = null) => {
  if (dateInput instanceof Date) return dateInput;
  const parsedDate = parse(dateInput, 'dd/MM/yyyy', Date.now());
  return isValid(parsedDate.getTime()) ? parsedDate : defaultVal;
}
/**
 * Format ngày tháng
 * @param {Date | number | string} date ngày thángtháng
 * @param {string} [defaultStr=]
 * @param {string} [format=dd/MM/yyyy]
 * @returns {string}
 */
const formatDate = (date, defaultStr = '', format = 'dd/MM/yyyy') => {
  const standardDate = typeof date === 'string' ? parseISO(date) : date;
  return isValid(standardDate) ? lightFormat(standardDate, format) : defaultStr;
}

module.exports.formatDate = formatDate;
module.exports.formatDateToFilename = (datetime) => formatDate(datetime || Date.now(), '', 'yyyyMMdd-hhmmss');