@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": {
|
"dependencies": {
|
||||||
"@d2-projects/d2-crud": "^1.3.4",
|
"@d2-projects/d2-crud": "^1.3.4",
|
||||||
|
"@d2-projects/vue-filters-date": "^1.0.0",
|
||||||
"axios": "^0.17.1",
|
"axios": "^0.17.1",
|
||||||
"babel-polyfill": "^6.26.0",
|
"babel-polyfill": "^6.26.0",
|
||||||
"better-scroll": "^1.12.1",
|
"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 图标
|
// svg 图标
|
||||||
import '@/assets/svg-icons'
|
import '@/assets/svg-icons'
|
||||||
// 过滤器
|
// 过滤器
|
||||||
import d2VueFiltersDateModule from '@/filters/module.date'
|
import d2VueFiltersDate from '@d2-projects/vue-filters-date'
|
||||||
// 功能插件
|
// 功能插件
|
||||||
import pluginError from '@/plugin/error'
|
import pluginError from '@/plugin/error'
|
||||||
import pluginExport from '@/plugin/export'
|
import pluginExport from '@/plugin/export'
|
||||||
@@ -32,7 +32,7 @@ export default {
|
|||||||
// Element
|
// Element
|
||||||
Vue.use(ElementUI)
|
Vue.use(ElementUI)
|
||||||
// 过滤器 日期模块
|
// 过滤器 日期模块
|
||||||
Vue.use(d2VueFiltersDateModule)
|
Vue.use(d2VueFiltersDate)
|
||||||
// 插件
|
// 插件
|
||||||
Vue.use(pluginError)
|
Vue.use(pluginError)
|
||||||
Vue.use(pluginExport)
|
Vue.use(pluginExport)
|
||||||
|
|||||||
Reference in New Issue
Block a user