UNPKG

@cainiaofe/cn-utils

Version:

菜鸟前端基础工具库

102 lines (101 loc) 2.81 kB
// import * as i18nDefault from './default'; import { exec } from '../common/exec'; import { getLang } from '../common/utils'; export * from './type'; /** * 根据语种信息获取日期格式化配置 * @param {TLanguage | boolean=} lang 语种 * @returns {DateFormatConf | null} 格式化对象 */ export function getDateFormatConf(lang) { lang = getLang(lang); return exec('getDateFormatConf', {}, [lang]); } /** * 将国际标准格式兑换成本地格式 * @param {StdFormat} stdFormat 标准格式 * @param {TLanguage | boolean=} lang 语种 * @returns {string | null} */ export function getDateFormatByStd(stdFormat, lang) { lang = getLang(lang); return exec('getDateFormatByStd', {}, [stdFormat, lang]); } /** * 获取系统时区信息 * @returns {Timezone | null} */ export function getTimezone() { return exec('getTimezone', {}, []); } /** * 根据当前语种&时区格式化时间戳 * @param num Timestamp * @param timezone Timezone * @param format string | FormatAutoOpts * @returns */ export function dateFormat(num, timezone, format) { if (typeof format === 'object') { var period = format.period || 's'; var lang = getLang(format.lang); format = getDateFormatConf(lang)[period]; } var opts = { timezone: timezone || getTimezone(), format: format, }; return exec('dateFormat', {}, [num, opts]); } /** * 根据当前语种&时区获取时间戳 * @param dateStr string * @param timezone FormatOpts * @param format string | FormatAutoOpts, * @returns */ export function dateTimestamp(dateStr, timezone, format) { if (typeof format === 'object') { var period = format.period || 's'; var lang = getLang(format.lang); format = getDateFormatConf(lang)[period]; } var opts = { timezone: timezone || getTimezone(), format: format, }; return exec('dateTimestamp', {}, [dateStr, opts]); } /** * 根据时间戳获取当前日期偏移量 * @param num * @param timezone * @returns */ export function getTimezoneOffset(num, timezone) { timezone = timezone || getTimezone(); return exec('getTimezoneOffset', {}, [num, timezone]); } /** * 根据时间戳&时区&语种获取时区名称 * @param num * @param timezone * @param lang * @returns */ export function getTimezoneName(num, timezone, lang) { timezone = timezone || getTimezone(); lang = getLang(lang); return exec('getTimezoneName', {}, [num, timezone, lang]); } /** * 实例化时区 dayjs 对象 * @param day * @param timezone * @param keepLocalTime * @returns 新的 dayjs 对象 */ export function dayjsTz(day, timezone, keepLocalTime) { timezone = timezone || getTimezone(); return exec('dayjsTz', {}, [day, timezone, keepLocalTime]); }