@d2-projects/vue-filters-date
Former-commit-id: 4f10378208aa67a5072be74c24da3d74ff327af2 [formerly 4f10378208aa67a5072be74c24da3d74ff327af2 [formerly 4f10378208aa67a5072be74c24da3d74ff327af2 [formerly 4f10378208aa67a5072be74c24da3d74ff327af2 [formerly c07c0f99b4a31dfc1a686002ad6b82976e26eefc [formerly 1a4246217c1cd6931ad915b546740c2e4f3ecf7d]]]]] Former-commit-id: 76c50d24a2feab3f5e5711a7287e20ef5c767b8f Former-commit-id: e77efd8622d1c0effdc47f385a700c37d1be7734 Former-commit-id: 95fc10c83c6de1956eb0d81fa7cc604016777bda [formerly 5cb0b573e2b6976e7ce8a2b3335a043828bb09d7] Former-commit-id: 0918c2b1d4ca59dcb561888b8afa3c88e299a3c5 Former-commit-id: 39dad34618d230a9386de15046d013bcc0774d1d Former-commit-id: 3c5ca48402581d7eb080843111b5906e6817425a Former-commit-id: 7865ae783991f2df19684c58d6fd55f132383588 Former-commit-id: 87e4572ff7182eb2480f746c9e98f514c2f4fc05
This commit is contained in:
@@ -1 +1 @@
|
||||
71c7a0f0efd0c1c51288f45b81f5c519d81068cb
|
||||
94d0ae90880c3276771b5f95da03cb7b4ac7effe
|
||||
@@ -14,6 +14,7 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@d2-projects/d2-crud": "^1.3.4",
|
||||
"@d2-projects/vue-filters-date": "^1.0.0",
|
||||
"axios": "^0.17.1",
|
||||
"babel-polyfill": "^6.26.0",
|
||||
"better-scroll": "^1.12.1",
|
||||
|
||||
@@ -1,98 +0,0 @@
|
||||
// 日期时间相关 filter
|
||||
// https://github.com/iamkun/dayjs/blob/master/docs/zh-cn/API-reference.md
|
||||
|
||||
import dayjs from 'dayjs'
|
||||
|
||||
// 对象代理
|
||||
const P = Day => {
|
||||
return new Proxy(Day, {
|
||||
get (target, key) {
|
||||
if (dayjs.isDayjs(target)) {
|
||||
// 是 Dayjs 对象,正常返回
|
||||
return target[key]
|
||||
} else {
|
||||
// 不是 Dayjs 对象
|
||||
if (dayjs(target).isValid()) {
|
||||
// 尝试帮用户解析成 Dayjs 对象
|
||||
return dayjs(target)[key]
|
||||
} else {
|
||||
// 无法解析
|
||||
return function () {
|
||||
return '无效日期'
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
set (target, key, value) {
|
||||
target[key] = value
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
const filters = {
|
||||
// ---------- [ dayjs 解析 ] ----------
|
||||
// 时间字符串 | Date 对象 | Unix 时间戳 (毫秒)
|
||||
day: value => dayjs(value),
|
||||
// Unix 时间戳 (秒)
|
||||
date_unix: value => dayjs.unix(value),
|
||||
// ---------- [ 获取 ] ----------
|
||||
date_year: Day => P(Day).year(),
|
||||
date_month: Day => P(Day).month(),
|
||||
date_date: Day => P(Day).date(),
|
||||
date_day: Day => P(Day).day(),
|
||||
date_hour: Day => P(Day).hour(),
|
||||
date_minute: Day => P(Day).minute(),
|
||||
date_second: Day => P(Day).second(),
|
||||
date_millisecond: Day => P(Day).millisecond(),
|
||||
// ---------- [ 设置 ] ----------
|
||||
// date | day | month | year | hour | minute | second | millisecond
|
||||
// 对大小写不敏感
|
||||
date_set: (Day, unit, value) => P(Day).set(unit, value),
|
||||
// ---------- [ 操作 ] ----------
|
||||
// 增加
|
||||
date_add: (Day, value, unit) => P(Day).add(value, unit),
|
||||
// 减少
|
||||
date_subtract: (Day, value, unit) => P(Day).subtract(value, unit),
|
||||
// 开头时间
|
||||
date_startof: (Day, unit) => P(Day).startOf(unit),
|
||||
// 末尾时间
|
||||
date_endof: (Day, unit) => P(Day).endOf(unit),
|
||||
// ---------- [ 显示 ] ----------
|
||||
// 格式化
|
||||
date_format: (Day, setting = 'YYYY-MM-DD HH:mm:ss') => P(Day).format(setting),
|
||||
// 时间差
|
||||
date_diff: (Day, Day2 = '', unit = 'millisecond', accurate = false) => P(Day).diff(dayjs(Day2), unit, accurate),
|
||||
// Unix 时间戳 (毫秒)
|
||||
date_value_millisecond: Day => P(Day).valueOf(),
|
||||
// Unix 时间戳 (秒)
|
||||
date_value_second: Day => P(Day).unix(),
|
||||
// 月份的天数
|
||||
date_days_in_month: Day => P(Day).daysInMonth(),
|
||||
// Date 对象
|
||||
date_to_date: Day => P(Day).toDate(),
|
||||
// 数组
|
||||
date_to_array: Day => P(Day).toArray(),
|
||||
// JSON
|
||||
date_to_json: Day => P(Day).toJSON(),
|
||||
// ISO8601 格式
|
||||
date_to_iso: Day => P(Day).toISOString(),
|
||||
// 对象
|
||||
date_to_object: Day => P(Day).toObject(),
|
||||
// 字符
|
||||
date_to_string: Day => P(Day).toString(),
|
||||
// ---------- [ 查询 ] ----------
|
||||
// 是否之前
|
||||
date_is_before: (Day, Day2, unit = 'millisecond') => P(Day).isBefore(dayjs(Day2), unit),
|
||||
// 是否之后
|
||||
date_is_after: (Day, Day2, unit = 'millisecond') => P(Day).isAfter(dayjs(Day2), unit),
|
||||
// 是否相同
|
||||
date_is_same: (Day, Day2, unit = 'millisecond') => P(Day).isSame(dayjs(Day2), unit)
|
||||
}
|
||||
|
||||
export default {
|
||||
install: function (Vue) {
|
||||
Object.keys(filters).forEach(name => {
|
||||
Vue.filter(name, filters[name])
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -8,7 +8,7 @@ import '@/components'
|
||||
// svg 图标
|
||||
import '@/assets/svg-icons'
|
||||
// 过滤器
|
||||
import d2VueFiltersDateModule from '@/filters/module.date'
|
||||
import d2VueFiltersDate from '@d2-projects/vue-filters-date'
|
||||
// 功能插件
|
||||
import pluginError from '@/plugin/error'
|
||||
import pluginExport from '@/plugin/export'
|
||||
@@ -32,7 +32,7 @@ export default {
|
||||
// Element
|
||||
Vue.use(ElementUI)
|
||||
// 过滤器 日期模块
|
||||
Vue.use(d2VueFiltersDateModule)
|
||||
Vue.use(d2VueFiltersDate)
|
||||
// 插件
|
||||
Vue.use(pluginError)
|
||||
Vue.use(pluginExport)
|
||||
|
||||
Reference in New Issue
Block a user