@zohodesk/hooks
Version:
Unified Component Library - Hooks
44 lines • 1.44 kB
JavaScript
import { DATE_FORMATS, DATE_DELIMITERS } from "./dateFormatConstants";
import { MONTH_FULL_NAMES, MONTH_SHORT_NAMES } from "./monthConstants";
export function getFormatedDate() {
let dateValue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
let format = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DATE_FORMATS.dd_mm_yyyy;
let delimiter = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : DATE_DELIMITERS.slash;
const {
date,
month,
year
} = dateDecode(dateValue);
let values = {
dd: date.toString().padStart(2, '0'),
yyyy: year,
mm: month.toString().padStart(2, '0'),
mmm: MONTH_SHORT_NAMES[month - 1],
mmmm: MONTH_FULL_NAMES[month - 1]
};
let value = [];
format.map(data => {
value.push(values[data]);
});
return value.join(delimiter);
}
export function dateDecode() {
let value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
// value = '2023-02-21';
let deocodedValue = value.split('-');
return {
date: Number(deocodedValue[2]),
month: Number(deocodedValue[1]),
year: Number(deocodedValue[0])
};
}
export function dateEncode(_ref) {
let {
date,
month,
year
} = _ref;
// { date: 21, month: 2, year: 2023 }
let enocodedValue = year + '-' + month.toString().padStart(2, '0') + '-' + date.toString().padStart(2, '0');
return enocodedValue;
}