commit
c5e03985ab
1234 changed files with 160809 additions and 0 deletions
Binary file not shown.
@ -0,0 +1,16 @@ |
|||
{ // launch.json 配置了启动调试时相关设置,configurations下节点名称可为 app-plus/h5/mp-weixin/mp-baidu/mp-alipay/mp-qq/mp-toutiao/mp-360/ |
|||
// launchtype项可配置值为local或remote, local代表前端连本地云函数,remote代表前端连云端云函数 |
|||
"version": "0.0", |
|||
"configurations": [{ |
|||
"app-plus" : |
|||
{ |
|||
"launchtype" : "local" |
|||
}, |
|||
"default" : |
|||
{ |
|||
"launchtype" : "local" |
|||
}, |
|||
"type" : "uniCloud" |
|||
} |
|||
] |
|||
} |
@ -0,0 +1,114 @@ |
|||
<script> |
|||
import { mapActions, mapGetters, mapMutations, mapState } from 'vuex'; |
|||
|
|||
export default { |
|||
async onLaunch(options) { |
|||
console.log('options: ', options); |
|||
this.checkNetwork(); // 监听网络状态 |
|||
this.getSystemInfo(); // 获取系统设备信息 |
|||
|
|||
/* #ifdef MP-WEIXIN */ |
|||
await this.signin(); |
|||
/* #endif */ |
|||
|
|||
/* #ifdef H5 */ |
|||
options.query.url && (this.$t.domain = options.query.url); |
|||
if (!this.token) { |
|||
// 不论有没有token都直接从userId获取token |
|||
// token有过期时间 从本地获取可能是过期 干脆直接从userId获取 |
|||
if (!options.query || !options.query.u) { |
|||
// 参数里没有u (userId)提示 |
|||
this.$t.ui.showToast('缺少用户信息参数'); |
|||
} else { |
|||
const data = await this.getToken(options.query.u); |
|||
this.noPhone(data.phone); |
|||
} |
|||
} |
|||
/* #endif */ |
|||
|
|||
options.query.url && (this.$t.domain = options.query.url); |
|||
|
|||
if (!options.query.u) { |
|||
options.query.u = '1217647686598135808'; |
|||
} |
|||
|
|||
// 不论有没有token都直接从userId获取token |
|||
// token有过期时间 从本地获取可能是过期 干脆直接从userId获取 |
|||
const data = await this.getToken(options.query.u); |
|||
this.noPhone(data.phone); |
|||
|
|||
this.initSocket(); |
|||
}, |
|||
|
|||
computed: { |
|||
...mapGetters(['useStorage']), |
|||
...mapState('user', ['token']), |
|||
}, |
|||
|
|||
methods: { |
|||
...mapActions('user', ['getToken']), |
|||
...mapActions('socket', ['initSocket']), |
|||
...mapMutations(['setNetworkConnected', 'setSystemInfo']), |
|||
...mapMutations('user', ['setToken', 'setUser']), |
|||
|
|||
// 检查网络状态 设置store里的网络状态变量 |
|||
// 网络连接 且 不是2g 不是3g 才算是网络连接; 否则不是 将启用本地存储 |
|||
checkNetwork() { |
|||
uni.getNetworkType({ |
|||
success: ({ networkType }) => { |
|||
this.setNetworkConnected(!(networkType === 'none' || networkType === '2g' || networkType === '3g')); |
|||
}, |
|||
}); |
|||
// 监听网络状态的变化 |
|||
uni.onNetworkStatusChange(({ isConnected, networkType }) => { |
|||
this.setNetworkConnected(isConnected && !(networkType === '2g' || networkType === '3g')); |
|||
}); |
|||
}, |
|||
|
|||
// 登录 |
|||
async signin() { |
|||
try { |
|||
const data = await this.$u.api.signin(); |
|||
if (data && data.token) { |
|||
this.setUser(data); |
|||
this.setToken(data.token); |
|||
this.noPhone(data.phone); |
|||
} else { |
|||
this.$t.ui.showToast('返回数据异常'); |
|||
} |
|||
} catch (error) { |
|||
console.error('error: ', error); |
|||
this.$t.ui.showToast(error || '登录失败'); |
|||
} |
|||
}, |
|||
|
|||
/** |
|||
* 没有手机号 跳转绑定手机号的界面 |
|||
* @param {string} phone |
|||
*/ |
|||
async noPhone(phone) { |
|||
if (!phone) { |
|||
this.$u.route('/pages/phone-bind/phone-bind'); |
|||
} |
|||
}, |
|||
|
|||
// 获取系统设备信息 |
|||
getSystemInfo() { |
|||
uni.getSystemInfo({ |
|||
success: result => { |
|||
this.setSystemInfo(result); |
|||
}, |
|||
fail: error => { |
|||
console.error('getSystemInfo fail:', error); |
|||
}, |
|||
}); |
|||
}, |
|||
}, |
|||
}; |
|||
</script> |
|||
|
|||
<style lang="scss"> |
|||
@import './common/styles/iconfont.scss'; |
|||
@import 'uview-ui/index.scss'; |
|||
@import './common/styles/app.scss'; |
|||
</style> |
@ -0,0 +1,52 @@ |
|||
// const apiUrl = process.env.VUE_APP_API_URL;
|
|||
const apiUrl = "https://test.tall.wiki/gateway"; |
|||
export const tall = `${apiUrl}/tall3/v3.0`; |
|||
|
|||
import { mp } from '@/config/user.js'; |
|||
|
|||
// 登录
|
|||
export const login = { |
|||
async index(params) { |
|||
try { |
|||
/* #ifdef MP-WEIXIN */ |
|||
params = await mp(); |
|||
/* #endif */ |
|||
const data = await uni.$u.http.post(`${tall}/users/signin`, params); |
|||
return data; |
|||
} catch (error) { |
|||
throw new Error(error); |
|||
} |
|||
}, |
|||
}; |
|||
|
|||
const install = (Vue, vm) => { |
|||
vm.$u.api = { ...vm.$u.api } || {}; |
|||
// 登录
|
|||
vm.$u.api.signin = params => login.index(params); |
|||
// 获取图片验证码
|
|||
vm.$u.api.getImageCode = () => vm.$u.get(`${tall}/users/code`); |
|||
// 获取短信验证码
|
|||
vm.$u.api.getSmsCode = params => vm.$u.get(`${tall}/users/smscode`, params); |
|||
// 根据userId获取token
|
|||
vm.$u.api.getToken = userId => vm.$u.get(`${tall}/users/userId`, { userId }); |
|||
// 绑定手机号
|
|||
vm.$u.api.phoneBind = (phone, smsCode) => vm.$u.http.post(`${tall}/users/binding`, { phone, smsCode }); |
|||
// 是否合并账号
|
|||
vm.$u.api.phoneMerge = (phone, isMerge) => vm.$u.http.post(`${tall}/users/merge`, { phone, isMerge }); |
|||
|
|||
// 修改用户信息
|
|||
vm.$u.api.updateUserInfo = params => vm.$u.http.post(`${tall}/users/userInfo`, params); |
|||
|
|||
// 获取项目列表
|
|||
vm.$u.api.getProjects = (startTime, endTime) => vm.$u.post(`${tall}/project/query`, { startTime, endTime }); |
|||
// 查询日历是否有小红点
|
|||
vm.$u.api.findRedPoint = (startTime, endTime) => vm.$u.post(`${tall}/project/day`, { startTime, endTime }); |
|||
// 设置项目顺序
|
|||
vm.$u.api.setProjectSort = params => vm.$u.post(`${tall}/project/setProjectSort`, params); |
|||
// 设置项目父子结构
|
|||
vm.$u.api.setProjectRelation = params => vm.$u.post(`${tall}/project/setProjectRelation`, params); |
|||
// 删除某个项目
|
|||
vm.$u.api.delProject = projectId => vm.$u.post(`${tall}/project/deleteProject`, { projectId }); |
|||
}; |
|||
|
|||
export default { install }; |
@ -0,0 +1,7 @@ |
|||
const install = (Vue, vm) => { |
|||
vm.$u.api = { ...vm.$u.api } || {}; |
|||
// 导入wbs
|
|||
vm.$u.api.import = formData => vm.$t.chooseAndUpload(`${uni.$t.domain}/wbs`, formData); |
|||
}; |
|||
|
|||
export default { install }; |
@ -0,0 +1,33 @@ |
|||
! function(root, factory) { |
|||
if (typeof exports == 'object' && typeof module != 'undefined') { |
|||
module.exports = factory() |
|||
} else if (typeof define == 'function' && define.amd) { |
|||
define(factory) |
|||
} else { |
|||
document.addEventListener('plusready', function() { |
|||
// 修改此处为插件命名 注释---1
|
|||
var moduleName = 'elitetyc'; |
|||
|
|||
root.plus[moduleName] = factory() |
|||
}, false); |
|||
} |
|||
}(this, function() { |
|||
//在此处定义自己的方法 注释---2
|
|||
var _BARCODE = 'elitetyc'; |
|||
var plugintest = { |
|||
// 这里定义了一个名叫CalcNameAddNumFunction的方法,传递三个参数,后面两个是回调函数
|
|||
CalcNameAddNumFunction: function(num, successCallback, errorCallback) { |
|||
var success = typeof successCallback !== 'function' ? null : function(args) { |
|||
successCallback(args); |
|||
}, |
|||
fail = typeof errorCallback !== 'function' ? null : function(code) { |
|||
errorCallback(code); |
|||
}; |
|||
// 注释---3
|
|||
var callbackID = plus.bridge.callbackId(success, fail); |
|||
// 注释---4
|
|||
return plus.bridge.exec(_BARCODE, "calcMyNameAddNum", [callbackID, num]); |
|||
} |
|||
}; |
|||
return plugintest; |
|||
}); |
@ -0,0 +1,7 @@ |
|||
.min-0 { |
|||
min-width: 0; |
|||
} |
|||
|
|||
.flex-shrink-0 { |
|||
flex-shrink: 0; |
|||
} |
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
@ -0,0 +1,473 @@ |
|||
<template> |
|||
<view class="zzx-calendar"> |
|||
<view class="calendar-heander"> |
|||
{{ timeStr }} |
|||
</view> |
|||
|
|||
<!-- 星期几标题 --> |
|||
<view class="calendar-weeks"> |
|||
<view class="calendar-week" :class="{ 'text-red-500': week === '六' || week === '日' }" v-for="(week, index) in weeks" :key="index"> |
|||
{{ week }} |
|||
</view> |
|||
</view> |
|||
|
|||
<view class="calendar-content"> |
|||
<swiper |
|||
class="calendar-swiper" |
|||
:style="{ |
|||
width: '100%', |
|||
height: sheight, |
|||
}" |
|||
:indicator-dots="false" |
|||
:autoplay="false" |
|||
:duration="duration" |
|||
:current="current" |
|||
@change="changeSwp" |
|||
:circular="true" |
|||
> |
|||
<swiper-item class="calendar-item" v-for="sitem in swiper" :key="sitem"> |
|||
<view class="calendar-days"> |
|||
<!-- 当前的 --> |
|||
<template v-if="sitem === current"> |
|||
<view |
|||
class="calendar-day" |
|||
v-for="(item, index) in days" |
|||
:key="index" |
|||
:class="{ 'day-hidden': !item.show }" |
|||
@click="clickItem(item)" |
|||
> |
|||
<view class="date" :class="[item.isToday ? todayClass : '', item.fullDate === selectedDate ? checkedClass : '']"> |
|||
{{ item.time.getDate() }} |
|||
</view> |
|||
<view class="dot-show" v-if="item.info === '0'" :style="dotStyle"> </view> |
|||
</view> |
|||
</template> |
|||
<template v-else> |
|||
<!-- 下一个月/周 --> |
|||
<template v-if="current - sitem === 1 || current - sitem === -2"> |
|||
<view |
|||
class="calendar-day" |
|||
v-for="(item, index) in predays" |
|||
:key="index" |
|||
:class="{ |
|||
'day-hidden': !item.show, |
|||
}" |
|||
> |
|||
<view class="date" :class="[item.isToday ? todayClass : '']"> |
|||
{{ item.time.getDate() }} |
|||
</view> |
|||
</view> |
|||
</template> |
|||
<!-- 上一个月/周 --> |
|||
<template v-else> |
|||
<view |
|||
class="calendar-day" |
|||
v-for="(item, index) in nextdays" |
|||
:key="index" |
|||
:class="{ |
|||
'day-hidden': !item.show, |
|||
}" |
|||
> |
|||
<view class="date" :class="[item.isToday ? todayClass : '']"> |
|||
{{ item.time.getDate() }} |
|||
</view> |
|||
</view> |
|||
</template> |
|||
</template> |
|||
</view> |
|||
</swiper-item> |
|||
</swiper> |
|||
|
|||
<!-- <view class="mode-change" @click="changeMode"> |
|||
<view :class="weekMode ? 'mode-arrow-bottom' : 'mode-arrow-top'"> </view> |
|||
</view> --> |
|||
</view> |
|||
|
|||
<view class="flex justify-center u-font-18" style="color: #3b82f6" @click="goToday"> 今日 </view> |
|||
</view> |
|||
</template> |
|||
|
|||
<script> |
|||
import { mapState } from 'vuex'; |
|||
import { gegerateDates, formatDate } from './generateDates.js'; |
|||
|
|||
export default { |
|||
props: { |
|||
duration: { type: Number, default: 500 }, |
|||
// 是否返回今日 |
|||
showBack: { type: Boolean, default: false }, |
|||
// 今日的自定义样式class |
|||
todayClass: { type: String, default: 'is-today' }, |
|||
// 选中日期的样式class |
|||
checkedClass: { type: String, default: 'is-checked' }, |
|||
// 打点日期的自定义样式 |
|||
dotStyle: { |
|||
type: Object, |
|||
default: () => { |
|||
return { background: '#4ade80' }; |
|||
}, |
|||
}, |
|||
}, |
|||
|
|||
watch: { |
|||
dotList: function (newvalue) { |
|||
const days = this.days.slice(0); |
|||
const index = days.findIndex(day => day.show); |
|||
days.forEach((day, i) => { |
|||
newvalue.forEach((item, j) => { |
|||
if (i - index === j) { |
|||
day.info = item; |
|||
} |
|||
}); |
|||
}); |
|||
this.days = days; |
|||
}, |
|||
}, |
|||
|
|||
data() { |
|||
return { |
|||
weeks: ['日', '一', '二', '三', '四', '五', '六'], // 周 |
|||
current: 1, |
|||
currentYear: '', |
|||
currentMonth: '', |
|||
currentDate: '', |
|||
days: [], |
|||
weekMode: false, // false -> 月 true -> 显示周 |
|||
swiper: [0, 1, 2], |
|||
selectedDate: formatDate(new Date(), 'yyyy-MM-dd'), // 当前选中的日期 |
|||
start: '', |
|||
end: '', |
|||
}; |
|||
}, |
|||
|
|||
computed: { |
|||
...mapState('project', ['dotList']), |
|||
sheight() { |
|||
// 根据年月判断有多少行 |
|||
// 判断该月有多少天 |
|||
let h = '35px'; |
|||
if (!this.weekMode) { |
|||
const d = new Date(this.currentYear, this.currentMonth, 0); |
|||
const days = d.getDate(); // 判断本月有多少天 |
|||
let day = new Date(d.setDate(1)).getDay(); |
|||
// if (day === 0) { |
|||
// day = 7; |
|||
// } |
|||
const pre = 8 - day; |
|||
const rows = Math.ceil((days - pre) / 7) + 1; |
|||
h = 35 * rows + 'px'; |
|||
} |
|||
return h; |
|||
}, |
|||
|
|||
// 当前日期 年月 |
|||
timeStr() { |
|||
let str = ''; |
|||
const d = new Date(this.currentYear, this.currentMonth - 1, this.currentDate); |
|||
const y = d.getFullYear(); |
|||
const m = d.getMonth() + 1 <= 9 ? `0${d.getMonth() + 1}` : d.getMonth() + 1; |
|||
str = `${y}年${m}月`; |
|||
return str; |
|||
}, |
|||
|
|||
// 上一周期的days书籍 |
|||
predays() { |
|||
let pres = []; |
|||
if (this.weekMode) { |
|||
// 周模式 |
|||
const d = new Date(this.currentYear, this.currentMonth - 1, this.currentDate); |
|||
d.setDate(d.getDate() - 7); |
|||
pres = gegerateDates(d, 'week'); |
|||
} else { |
|||
// 月模式 |
|||
const d = new Date(this.currentYear, this.currentMonth - 2, 1); |
|||
pres = gegerateDates(d, 'month'); |
|||
} |
|||
return pres; |
|||
}, |
|||
|
|||
// 下一周期的days书籍 |
|||
nextdays() { |
|||
let nexts = []; |
|||
if (this.weekMode) { |
|||
// 周模式 |
|||
const d = new Date(this.currentYear, this.currentMonth - 1, this.currentDate); |
|||
d.setDate(d.getDate() + 7); |
|||
nexts = gegerateDates(d, 'week'); |
|||
} else { |
|||
// 月模式 |
|||
const d = new Date(this.currentYear, this.currentMonth, 1); |
|||
nexts = gegerateDates(d, 'month'); |
|||
} |
|||
return nexts; |
|||
}, |
|||
}, |
|||
|
|||
created() { |
|||
this.initDate(); |
|||
this.start = this.$moment().startOf('month').valueOf(); |
|||
this.end = this.$moment().endOf('month').valueOf(); |
|||
}, |
|||
|
|||
methods: { |
|||
// |
|||
/** |
|||
* 滑动切换上下周期 |
|||
* 根据前一个减去目前的值我们可以判断是下一个月/周还是上一个月/周 |
|||
* current - pre === 1, -2 下一个月/周 |
|||
* current - pre === -1, 2 上一个月或者上一周 |
|||
*/ |
|||
changeSwp(e) { |
|||
const pre = this.current; |
|||
const current = e.target.current; |
|||
this.current = current; |
|||
|
|||
if (current - pre === 1 || current - pre === -2) { |
|||
// 下一个月 或 下一周 |
|||
this.daysNext(); |
|||
const arr = this.days.filter(s => s.show); |
|||
const end = `${arr[arr.length - 1].fullDate} 23:59:59`; |
|||
this.start = this.$moment(arr[0].fullDate).valueOf(); |
|||
this.end = this.$moment(end).valueOf(); |
|||
this.$emit('handleFindPoint', this.start, this.end); |
|||
} else { |
|||
// 上一个月 或 上一周 |
|||
this.daysPre(); |
|||
const arr = this.days.filter(s => s.show); |
|||
const end = `${arr[arr.length - 1].fullDate} 23:59:59`; |
|||
this.start = this.$moment(arr[0].fullDate).valueOf(); |
|||
this.end = this.$moment(end).valueOf(); |
|||
this.$emit('handleFindPoint', this.start, this.end); |
|||
} |
|||
}, |
|||
|
|||
// 初始化日历的方法 |
|||
initDate(cur) { |
|||
let date = ''; |
|||
if (cur) { |
|||
date = new Date(cur); |
|||
} else { |
|||
date = new Date(); |
|||
} |
|||
this.currentDate = date.getDate(); // 今日几号 |
|||
this.currentYear = date.getFullYear(); // 当前年份 |
|||
this.currentMonth = date.getMonth() + 1; // 当前月份 |
|||
this.currentWeek = date.getDay() === 0 ? 7 : date.getDay(); // 1...6,0 星期几 |
|||
// const nowY = new Date().getFullYear(); // 当前年份 |
|||
// const nowM = new Date().getMonth() + 1; |
|||
// const nowD = new Date().getDate(); // 今日日期 几号 |
|||
// const nowW = new Date().getDay(); |
|||
// this.selectedDate = formatDate(new Date(), 'yyyy-MM-dd') |
|||
this.days = []; |
|||
let days = []; |
|||
if (this.weekMode) { |
|||
days = gegerateDates(date, 'week'); |
|||
// this.selectedDate = days[0].fullDate; |
|||
} else { |
|||
days = gegerateDates(date, 'month'); |
|||
// const sel = new Date(this.selectedDate.replace('-', '/').replace('-', '/')); |
|||
// const isMonth = sel.getFullYear() === this.currentYear && (sel.getMonth() + 1) === this.currentMonth; |
|||
// if(!isMonth) { |
|||
// this.selectedDate = formatDate(new Date(this.currentYear, this.currentMonth-1,1), 'yyyy-MM-dd') |
|||
// } |
|||
} |
|||
// 设置小红点 |
|||
days.forEach((day, i) => { |
|||
this.dotList.forEach((item, j) => { |
|||
if (i === j) { |
|||
day.info = item; |
|||
} |
|||
}); |
|||
}); |
|||
this.days = days; |
|||
// 派发事件,时间发生改变 |
|||
let obj = { |
|||
start: '', |
|||
end: '', |
|||
}; |
|||
if (this.weekMode) { |
|||
obj.start = this.days[0].time; |
|||
obj.end = this.days[6].time; |
|||
} else { |
|||
const start = new Date(this.currentYear, this.currentMonth - 1, 1); |
|||
const end = new Date(this.currentYear, this.currentMonth, 0); |
|||
obj.start = start; |
|||
obj.end = end; |
|||
} |
|||
this.$emit('days-change', obj); |
|||
}, |
|||
|
|||
// 上一个 |
|||
daysPre() { |
|||
if (this.weekMode) { |
|||
const d = new Date(this.currentYear, this.currentMonth - 1, this.currentDate); |
|||
d.setDate(d.getDate() - 7); |
|||
this.initDate(d); |
|||
} else { |
|||
const d = new Date(this.currentYear, this.currentMonth - 2, 1); |
|||
this.initDate(d); |
|||
} |
|||
}, |
|||
|
|||
// 下一个 |
|||
daysNext() { |
|||
if (this.weekMode) { |
|||
const d = new Date(this.currentYear, this.currentMonth - 1, this.currentDate); |
|||
d.setDate(d.getDate() + 7); |
|||
this.initDate(d); |
|||
} else { |
|||
const d = new Date(this.currentYear, this.currentMonth, 1); |
|||
this.initDate(d); |
|||
} |
|||
}, |
|||
|
|||
// 切换模式 |
|||
changeMode() { |
|||
const premode = this.weekMode; |
|||
let isweek = false; |
|||
if (premode) { |
|||
isweek = !!this.days.find(item => item.fullDate === this.selectedDate); |
|||
} |
|||
this.weekMode = !this.weekMode; |
|||
let d = new Date(this.currentYear, this.currentMonth - 1, this.currentDate); |
|||
const sel = new Date(this.selectedDate.replace('-', '/').replace('-', '/')); |
|||
const isMonth = sel.getFullYear() === this.currentYear && sel.getMonth() + 1 === this.currentMonth; |
|||
if ((this.selectedDate && isMonth) || isweek) { |
|||
d = new Date(this.selectedDate.replace('-', '/').replace('-', '/')); |
|||
} |
|||
this.initDate(d); |
|||
}, |
|||
|
|||
// 点击日期 |
|||
clickItem(e) { |
|||
this.selectedDate = e.fullDate; |
|||
this.$emit('selected-change', e); |
|||
}, |
|||
|
|||
// 返回 |
|||
goToday() { |
|||
const d = new Date(); |
|||
this.initDate(d); |
|||
}, |
|||
}, |
|||
}; |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
.zzx-calendar { |
|||
width: 100%; |
|||
height: auto; |
|||
background-color: #fff; |
|||
padding-bottom: 10px; |
|||
|
|||
.calendar-heander { |
|||
text-align: center; |
|||
padding: 16px 0; |
|||
position: relative; |
|||
font-size: 15px; |
|||
} |
|||
|
|||
.calendar-weeks { |
|||
width: 100%; |
|||
display: flex; |
|||
flex-flow: row nowrap; |
|||
margin-bottom: 10px; |
|||
justify-content: center; |
|||
align-items: center; |
|||
font-size: 12px; |
|||
color: #9ca3af; |
|||
font-weight: bold; |
|||
|
|||
.calendar-week { |
|||
width: calc(100% / 7); |
|||
height: 100%; |
|||
text-align: center; |
|||
} |
|||
} |
|||
swiper { |
|||
width: 100%; |
|||
height: 60upx; |
|||
} |
|||
.calendar-content { |
|||
min-height: 30px; |
|||
} |
|||
.calendar-swiper { |
|||
min-height: 35px; |
|||
transition: height ease-out 0.3s; |
|||
} |
|||
.calendar-item { |
|||
margin: 0; |
|||
padding: 0; |
|||
height: 100%; |
|||
} |
|||
.calendar-days { |
|||
display: flex; |
|||
flex-flow: row wrap; |
|||
width: 100%; |
|||
height: 100%; |
|||
overflow: hidden; |
|||
font-size: 14px; |
|||
|
|||
.calendar-day { |
|||
width: calc(100% / 7); |
|||
height: 35px; |
|||
text-align: center; |
|||
display: flex; |
|||
flex-flow: column nowrap; |
|||
justify-content: flex-start; |
|||
align-items: center; |
|||
position: relative; |
|||
} |
|||
} |
|||
.day-hidden { |
|||
visibility: hidden; |
|||
} |
|||
|
|||
.mode-change { |
|||
display: flex; |
|||
justify-content: center; |
|||
margin-top: 5px; |
|||
|
|||
.mode-arrow-top { |
|||
width: 0; |
|||
height: 0; |
|||
border-left: 6px solid transparent; |
|||
border-right: 6px solid transparent; |
|||
border-bottom: 5px solid #ff6633; |
|||
} |
|||
.mode-arrow-bottom { |
|||
width: 0; |
|||
height: 0; |
|||
border-left: 6px solid transparent; |
|||
border-right: 6px solid transparent; |
|||
border-top: 5px solid #ff6633; |
|||
} |
|||
} |
|||
.is-today { |
|||
background: #ffffff; |
|||
border: 1upx solid #ff6633; |
|||
border-radius: 50%; |
|||
color: #ff6633; |
|||
} |
|||
.is-checked { |
|||
background: #ff6633; |
|||
color: #ffffff; |
|||
} |
|||
.date { |
|||
width: 25px; |
|||
height: 25px; |
|||
line-height: 25px; |
|||
margin: 0 auto; |
|||
border-radius: 25px; |
|||
} |
|||
.dot-show { |
|||
width: 6px; |
|||
height: 6px; |
|||
// background: red; |
|||
border-radius: 5px; |
|||
position: absolute; |
|||
top: 2px; |
|||
right: 10px; |
|||
} |
|||
} |
|||
</style> |
@ -0,0 +1,136 @@ |
|||
/* |
|||
*此函数的作用是根据传入的一个日期,返回这一周的日期或者这一个月的日期, |
|||
* 如果是月的话注意还包含上个月和下个月的日期,月的话总共数据有 6 * 7 = 42个 |
|||
* |
|||
*/ |
|||
/* |
|||
* 时间格式化函数 |
|||
* 重要提示,微信小程序new Date('2020-04-16')在ios中无法获取时间对象 |
|||
* 解决方式: 建议将时间都格式化成'2020/04/16 00:00:00'的格式 |
|||
* 函数示例: formatDate(new Date(), 'YYYY/MM/dd hh:mm:ss') |
|||
*/ |
|||
export const formatDate = (date, fmt) => { |
|||
if (/(y+)/.test(fmt)) { |
|||
fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length)); |
|||
} |
|||
let o = { |
|||
'M+': date.getMonth() + 1, |
|||
'd+': date.getDate(), |
|||
'h+': date.getHours(), |
|||
'm+': date.getMinutes(), |
|||
's+': date.getSeconds(), |
|||
}; |
|||
for (let k in o) { |
|||
if (new RegExp(`(${k})`).test(fmt)) { |
|||
let str = o[k] + ''; |
|||
fmt = fmt.replace(RegExp.$1, RegExp.$1.length === 1 ? str : padLeftZero(str)); |
|||
} |
|||
} |
|||
return fmt; |
|||
}; |
|||
const padLeftZero = str => { |
|||
return ('00' + str).substr(str.length); |
|||
}; |
|||
|
|||
// 判断是不是date对象
|
|||
export const judgeType = s => { |
|||
// 函数返回数据的具体类型
|
|||
return Object.prototype.toString.call(s).slice(8, -1); |
|||
}; |
|||
|
|||
export const equalDate = (d1, d2) => { |
|||
let result = false; |
|||
if (d1.getFullYear() === d2.getFullYear() && d1.getMonth() === d2.getMonth() && d1.getDate() === d2.getDate()) { |
|||
result = true; |
|||
} |
|||
return result; |
|||
}; |
|||
|
|||
/* 比较时间,时间格式为2020-04-04 |
|||
*/ |
|||
export const dateEqual = (before, after) => { |
|||
before = new Date(before.replace('-', '/').replace('-', '/')); |
|||
after = new Date(after.replace('-', '/').replace('-', '/')); |
|||
if (before.getTime() - after.getTime() === 0) { |
|||
return true; |
|||
} else { |
|||
return false; |
|||
} |
|||
}; |
|||
|
|||
export const gegerateDates = (date = new Date(), type = 'week') => { |
|||
const result = []; |
|||
if (judgeType(date) === 'Date') { |
|||
// 年,月,日
|
|||
const y = date.getFullYear(); |
|||
const m = date.getMonth(); |
|||
const d = date.getDate(); |
|||
const days = new Date(y, m + 1, 0).getDate(); |
|||
// 获取日期是星期几
|
|||
// let weekIndex = date.getDay() === 0 ? 7 : date.getDay();
|
|||
let weekIndex = date.getDay(); |
|||
if (type === 'month') { |
|||
const dobj = new Date(y, m, 1); |
|||
// weekIndex = dobj.getDay() === 0 ? 7 : dobj.getDay();
|
|||
weekIndex = dobj.getDay(); |
|||
} |
|||
if (type === 'week') { |
|||
for (let i = weekIndex; i > 0; i--) { |
|||
const dtemp = new Date(y, m, d); |
|||
dtemp.setDate(dtemp.getDate() - i); |
|||
result.push({ |
|||
time: dtemp, |
|||
show: true, |
|||
fullDate: formatDate(dtemp, 'yyyy-MM-dd'), |
|||
isToday: equalDate(new Date(), dtemp), |
|||
}); |
|||
} |
|||
for (let i = 0; i <= 7 - weekIndex; i++) { |
|||
const dtemp = new Date(y, m, d); |
|||
dtemp.setDate(dtemp.getDate() + i); |
|||
result.push({ |
|||
time: dtemp, |
|||
show: true, |
|||
fullDate: formatDate(dtemp, 'yyyy-MM-dd'), |
|||
isToday: equalDate(new Date(), dtemp), |
|||
}); |
|||
} |
|||
} else if (type === 'month') { |
|||
// 上个月
|
|||
for (let i = weekIndex; i > 0; i--) { |
|||
const dtemp = new Date(y, m, 1); |
|||
dtemp.setDate(dtemp.getDate() - i); |
|||
result.push({ |
|||
time: dtemp, |
|||
show: false, |
|||
fullDate: formatDate(dtemp, 'yyyy-MM-dd'), |
|||
isToday: equalDate(new Date(), dtemp), |
|||
}); |
|||
} |
|||
// 这个月的日期
|
|||
for (let i = 0; i < days; i++) { |
|||
const dtemp = new Date(y, m, 1); |
|||
dtemp.setDate(dtemp.getDate() + i); |
|||
result.push({ |
|||
time: dtemp, |
|||
show: true, |
|||
fullDate: formatDate(dtemp, 'yyyy-MM-dd'), |
|||
isToday: equalDate(new Date(), dtemp), |
|||
}); |
|||
} |
|||
const len = 42 - result.length; |
|||
// 下个月的日期
|
|||
for (let i = 1; i <= len; i++) { |
|||
const dtemp = new Date(y, m + 1, 0); |
|||
dtemp.setDate(dtemp.getDate() + i); |
|||
result.push({ |
|||
time: dtemp, |
|||
show: false, |
|||
fullDate: formatDate(dtemp, 'yyyy-MM-dd'), |
|||
isToday: equalDate(new Date(), dtemp), |
|||
}); |
|||
} |
|||
} |
|||
} |
|||
return result; |
|||
}; |
@ -0,0 +1,37 @@ |
|||
<template> |
|||
<!-- TODO: 设置默认图片 --> |
|||
<image :src="src" mode="aspectFit" class="image" @click="getCode"></image> |
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
data() { |
|||
return { src: '' }; |
|||
}, |
|||
|
|||
created() { |
|||
this.getCode(); |
|||
}, |
|||
|
|||
methods: { |
|||
// 获取图形验证码 |
|||
async getCode() { |
|||
try { |
|||
const data = await this.$u.api.getImageCode(); |
|||
const { imageBase64, verificationCodeId } = data; |
|||
this.src = imageBase64; |
|||
this.$emit('on-code', verificationCodeId); |
|||
} catch (error) { |
|||
console.error('error: ', error); |
|||
} |
|||
}, |
|||
}, |
|||
}; |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
.image { |
|||
width: 100px !important; |
|||
height: 35px !important; |
|||
} |
|||
</style> |
@ -0,0 +1,525 @@ |
|||
<template> |
|||
<view> |
|||
<scroll-view scroll-y="true"> |
|||
<view v-if="!changeEvent"> |
|||
<view :id="'cu-' + index" :key="item.id" class="cu-item flex-col" v-for="(item, index) in itemList"> |
|||
<ProjectItem |
|||
class="w-full" |
|||
:index="index" |
|||
:item="item" |
|||
:menuList="menuList" |
|||
@setData="setData" |
|||
@openSubProject="openSubProject" |
|||
/> |
|||
</view> |
|||
</view> |
|||
<view v-else> |
|||
<view |
|||
:id="'cu-' + index" |
|||
:key="index" |
|||
:style="{ 'background-color': item.color }" |
|||
@touchend="stops($event, index)" |
|||
@touchmove.stop.prevent="move" |
|||
@touchstart="start($event, index)" |
|||
class="cu-item flex-col" |
|||
v-for="(item, index) in itemList" |
|||
> |
|||
<view class="border-100 bg-blue-500" v-if="item.showTopBorder"></view> |
|||
<!-- 内容区 --> |
|||
<!-- 父项目 --> |
|||
<view class="w-full"> |
|||
<view class="flex items-center justify-between p-3"> |
|||
<u-icon class="mover" name="https://www.tall.wiki/staticrec/drag.svg" size="48"></u-icon> |
|||
|
|||
<view class="flex-1 px-3"> |
|||
<view class="flex items-center mb-1"> |
|||
<view class="mr-2">{{ item.name }}</view> |
|||
<!-- 状态 TODO:--> |
|||
<view class="px-2 text-xs text-green-400 bg-green-100 rounded-full flex-shrink-0">进行中</view> |
|||
</view> |
|||
|
|||
<view class="flex items-center text-xs text-gray-400"> |
|||
<view class="pr-2">{{ $moment(+item.startTime).format('MM-DD HH:mm') }}</view> |
|||
至 |
|||
<view class="pl-2">{{ $moment(+item.endTime).format('MM-DD HH:mm') }}</view> |
|||
</view> |
|||
</view> |
|||
|
|||
<!-- 箭头 --> |
|||
<view v-if="item.sonProjectList && item.sonProjectList.length"> |
|||
<u-icon |
|||
@click="openSubProject(item.sonProjectList.length, index)" |
|||
class="text-gray-400" |
|||
name="arrow-up" |
|||
size="14px" |
|||
v-if="item.show" |
|||
></u-icon> |
|||
<u-icon |
|||
@click="openSubProject(item.sonProjectList.length, index)" |
|||
class="text-gray-400" |
|||
name="arrow-down" |
|||
size="14px" |
|||
v-else |
|||
></u-icon> |
|||
</view> |
|||
<u-icon class="text-gray-400" name="arrow-right" size="14px" v-else></u-icon> |
|||
</view> |
|||
<!-- 父项目 end --> |
|||
<!-- 子项目 --> |
|||
<view class="ml-8" v-if="item.show"> |
|||
<view |
|||
:id="'cu-' + index + '-' + subIndex" |
|||
:key="subIndex" |
|||
@touchend.stop.prevent="stops($event, index + '-' + subIndex, item.sonProjectList.length)" |
|||
@touchmove.stop.prevent="move($event, item.sonProjectList.length)" |
|||
@touchstart.stop.prevent="start($event, index + '-' + subIndex)" |
|||
class="cu-item flex-col" |
|||
v-for="(subItem, subIndex) in item.sonProjectList" |
|||
> |
|||
<view class="flex items-center justify-between p-3 w-full"> |
|||
<u-icon class="mover" name="https://www.tall.wiki/staticrec/drag.svg" size="48"></u-icon> |
|||
|
|||
<view class="flex-1 px-3"> |
|||
<view class="flex items-center"> |
|||
<view class="mr-2">{{ subItem.name }}</view> |
|||
<!-- 状态 --> |
|||
<view |
|||
:class=" |
|||
subItem.status === 0 |
|||
? 'text-blue-400 bg-blue-100' |
|||
: subItem.status === 1 |
|||
? 'text-green-400 bg-green-100' |
|||
: subItem.status === 2 |
|||
? 'text-red-400 bg-red-100' |
|||
: 'text-gray-400 bg-gray-100' |
|||
" |
|||
class="px-2 text-xs text-gray-400 bg-gray-100 rounded-full flex-shrink-0" |
|||
> |
|||
{{ subItem.status === 0 ? '未开始' : subItem.status === 1 ? '进行中' : subItem.status === 2 ? '暂停' : '已完成' }} |
|||
</view> |
|||
</view> |
|||
</view> |
|||
|
|||
<!-- 箭头 --> |
|||
<u-icon class="text-gray-400" name="arrow-right" size="14px"></u-icon> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
<!-- 内容区 end --> |
|||
<view class="border-100 bg-blue-500" v-if="item.showBorder"></view> |
|||
<view class="border-80 bg-blue-500" v-if="item.showSubBorder"></view> |
|||
</view> |
|||
</view> |
|||
</scroll-view> |
|||
<!-- 移动悬浮 begin --> |
|||
<view v-if="showMoveImage"> |
|||
<view :style="{ left: moveLeft + 'px', top: moveTop + 'px' }" class="cu-item absolute"> |
|||
<ProjectItem class="w-full" :item="moveItem" /> |
|||
</view> |
|||
</view> |
|||
<!-- 移动悬浮 end --> |
|||
|
|||
<!-- 项目操作面板 --> |
|||
<u-action-sheet :list="menuList" :tips="tips" @click="chooseAction" v-model="showMenu"></u-action-sheet> |
|||
</view> |
|||
</template> |
|||
|
|||
<script> |
|||
import ProjectItem from '../Projects/ProjectItem.vue'; |
|||
import { mapState, mapGetters, mapMutations } from 'vuex'; |
|||
|
|||
export default { |
|||
components: { ProjectItem }, |
|||
name: 'exchange', |
|||
model: { prop: 'showPop', event: 'change' }, |
|||
|
|||
data() { |
|||
return { |
|||
itemTop: 0, |
|||
itemLeft: 0, |
|||
itemHeight: 0, // 移动元素的高度 |
|||
subItemHeight: 0, // 移动子元素的高度 |
|||
itemWidth: 0, // 移动元素的宽度 |
|||
showMoveImage: false, |
|||
moveItem: '', |
|||
moveLeft: 0, |
|||
moveTop: 0, |
|||
deltaLeft: 0, |
|||
deltaTop: 0, |
|||
beginleft: 0, |
|||
begintop: 0, |
|||
itemList: [], |
|||
setSubItem: false, |
|||
changeEvent: false, |
|||
|
|||
showMenu: false, |
|||
tips: { |
|||
text: '', |
|||
color: '#909399', |
|||
fontSize: 28, |
|||
}, |
|||
projectId: 0, |
|||
menuList: [{ text: '复制' }, { text: '编辑' }, { text: '删除' }, { text: '置顶' }, { text: '排序' }], |
|||
// show: false, |
|||
border: 'border border-blue-500 shadow rounded-md', |
|||
showBorder: false, |
|||
showItemIndex: undefined, |
|||
}; |
|||
}, |
|||
|
|||
computed: { |
|||
...mapGetters('user', ['userId']), |
|||
...mapState('project', ['projects']), |
|||
|
|||
eventName() { |
|||
if (this.changeEvent) { |
|||
return 'move.stop.prevent'; |
|||
} else { |
|||
return 'move'; |
|||
} |
|||
}, |
|||
}, |
|||
|
|||
mounted() { |
|||
this.$nextTick(function () { |
|||
this.itemList = this.projects; |
|||
this.itemList.forEach(item => { |
|||
item.showBorder = false; |
|||
item.showSubBorder = false; |
|||
item.showTopBorder = false; |
|||
}); |
|||
}); |
|||
}, |
|||
|
|||
watch: { |
|||
projects(val) { |
|||
this.itemList = val; |
|||
this.itemList.forEach(item => { |
|||
item.showBorder = false; |
|||
item.showSubBorder = false; |
|||
item.showTopBorder = false; |
|||
}); |
|||
}, |
|||
}, |
|||
|
|||
methods: { |
|||
...mapMutations('project', ['setProjectItemShow', 'setProjects']), |
|||
// 展开子项目 |
|||
openSubProject(length, index) { |
|||
this.setProjectItemShow({ index, show: this.itemList[index].show ? false : true }); |
|||
if (length && index) { |
|||
this.$emit('changeHeight', length, index); |
|||
} |
|||
this.showItemIndex = index; |
|||
}, |
|||
|
|||
// 获取项目列表距离顶部的距离 |
|||
getDate() { |
|||
const query = uni.createSelectorQuery().in(this); |
|||
query |
|||
.select(`#cu-0`) |
|||
.boundingClientRect(data => { |
|||
console.log('data: ', data); |
|||
this.begintop = data.top; |
|||
this.beginleft = data.left; |
|||
}) |
|||
.exec(); |
|||
}, |
|||
|
|||
setData(flag, projectId, tips) { |
|||
this.showMenu = flag; |
|||
this.projectId = projectId; |
|||
this.tips = tips; |
|||
}, |
|||
|
|||
chooseAction(e) { |
|||
let data = { index: e, projectId: this.projectId }; |
|||
// this.$emit('chooseAction', data); |
|||
this.actionFun(data); |
|||
}, |
|||
|
|||
// 操作 |
|||
actionFun(obj) { |
|||
let action = this.menuList[obj.index].text; |
|||
if (action === '排序') { |
|||
this.changeEvent = true; |
|||
this.$t.ui.showToast('请移动进行排序'); |
|||
} |
|||
|
|||
if (action === '删除') { |
|||
this.changeEvent = false; |
|||
this.delProject(obj.projectId); |
|||
} |
|||
|
|||
if (this.showItemIndex !== undefined) { |
|||
this.setProjectItemShow({ index: this.showItemIndex, show: true }); |
|||
} |
|||
}, |
|||
|
|||
isNumber(val) { |
|||
return val === +val; |
|||
}, |
|||
|
|||
start(e, index) { |
|||
console.log('开始', e); |
|||
setTimeout(() => { |
|||
this.getDate(); |
|||
}, 300); |
|||
|
|||
if (this.isNumber(index)) { |
|||
this.setSubItem = false; |
|||
const query = uni.createSelectorQuery().in(this); |
|||
query |
|||
.select(`#cu-${index}`) |
|||
.boundingClientRect(data => { |
|||
this.moveTop = data.top; |
|||
this.moveLeft = data.left; |
|||
this.moveItem = this.itemList[index]; |
|||
this.itemWidth = data.width; |
|||
this.itemHeight = data.height; |
|||
}) |
|||
.exec(); |
|||
} else { |
|||
let arr = index.split('-'); |
|||
this.setSubItem = true; |
|||
const query = uni.createSelectorQuery().in(this); |
|||
query |
|||
.select(`#cu-${arr[0] - 0}`) |
|||
.boundingClientRect(data => { |
|||
this.itemHeight = data.height; |
|||
}) |
|||
.exec(); |
|||
|
|||
query |
|||
.select(`#cu-${index}`) |
|||
.boundingClientRect(data => { |
|||
this.moveTop = data.top; |
|||
this.moveLeft = data.left; |
|||
this.moveItem = this.itemList[arr[0] - 0].sonProjectList[arr[1] - 0]; |
|||
this.itemWidth = data.width; |
|||
this.subItemHeight = data.height; |
|||
}) |
|||
.exec(); |
|||
} |
|||
}, |
|||
|
|||
move(e, length) { |
|||
console.log('移动'); |
|||
this.showMoveImage = true; //悬浮开始 |
|||
const touch = e.touches[0]; |
|||
if (this.deltaLeft == 0) { |
|||
// 获得本身的移动 |
|||
this.deltaLeft = touch.pageX - this.moveLeft; |
|||
this.deltaTop = touch.pageY - this.moveTop; |
|||
} |
|||
this.moveLeft = touch.pageX - this.deltaLeft; |
|||
this.moveTop = touch.pageY - this.deltaTop; |
|||
|
|||
let lastIndex = (lastIndex = this.findOverIndex(touch.pageY, length)); |
|||
// 显示下划线 |
|||
for (let i = 0; i < this.itemList.length; i++) { |
|||
if (this.moveLeft > 35) { |
|||
this.itemList[i].showBorder = false; |
|||
this.itemList[i].showTopBorder = false; |
|||
if (i === lastIndex) { |
|||
this.itemList[i].showSubBorder = true; |
|||
} else { |
|||
this.itemList[i].showSubBorder = false; |
|||
} |
|||
} else { |
|||
if (lastIndex === -1) { |
|||
this.itemList[0].showTopBorder = true; |
|||
this.itemList[i].showSubBorder = false; |
|||
this.itemList[i].showBorder = false; |
|||
} else { |
|||
this.itemList[i].showSubBorder = false; |
|||
this.itemList[i].showTopBorder = false; |
|||
if (i === lastIndex) { |
|||
this.itemList[i].showBorder = true; |
|||
} else { |
|||
this.itemList[i].showBorder = false; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
}, |
|||
|
|||
stops(e, index, length) { |
|||
console.log('结束'); |
|||
const touch = e.mp.changedTouches[0]; |
|||
let lastIndex = (lastIndex = this.findOverIndex(touch.pageY, length)); |
|||
|
|||
// 交换两个值 |
|||
for (let i = 0; i < this.itemList.length; i++) { |
|||
// 插入顶部 |
|||
if (this.itemList[i].showTopBorder) { |
|||
if (this.isNumber(index)) { |
|||
let Value = this.itemList[index]; |
|||
this.itemList.unshift(Value); |
|||
this.itemList.splice(index + 1, 1); |
|||
} else { |
|||
let arr = index.split('-'); |
|||
let Value = this.itemList[arr[0] - 0].sonProjectList[arr[1] - 0]; |
|||
this.itemList.unshift(Value); |
|||
this.itemList[arr[0] - 0].sonProjectList.splice([arr[1] - 0], 1); |
|||
const options = { |
|||
id: Value.id, |
|||
parentId: 0, |
|||
}; |
|||
this.$emit('change', options); |
|||
} |
|||
// 清空 |
|||
this.clearSet(i); |
|||
this.$emit('change', this.itemList); |
|||
return; |
|||
} |
|||
// 插入一级项目 |
|||
if (this.itemList[i].showBorder) { |
|||
if (this.isNumber(index)) { |
|||
let Value = this.itemList[index]; |
|||
this.itemList.splice(i + 1, 0, Value); |
|||
if (i < index) { |
|||
this.itemList.splice(index + 1, 1); |
|||
} else { |
|||
this.itemList.splice(index, 1); |
|||
} |
|||
} else { |
|||
let arr = index.split('-'); |
|||
let Value = this.itemList[arr[0] - 0].sonProjectList[arr[1] - 0]; |
|||
this.itemList.splice(i + 1, 0, Value); |
|||
this.itemList[arr[0] - 0].sonProjectList.splice([arr[1] - 0], 1); |
|||
const options = { |
|||
id: Value.id, |
|||
parentId: 0, |
|||
}; |
|||
this.$emit('change', options); |
|||
} |
|||
// 清空 |
|||
this.clearSet(i); |
|||
this.$emit('change', this.itemList); |
|||
return; |
|||
} |
|||
// 插入二级项目 |
|||
if (this.itemList[i].showSubBorder) { |
|||
if (this.isNumber(index)) { |
|||
let Value = this.itemList[index]; |
|||
if (this.itemList[lastIndex - 1].sonProjectList && this.itemList[lastIndex - 1].sonProjectList.length) { |
|||
this.itemList[lastIndex - 1].sonProjectList.push(Value); |
|||
} else { |
|||
this.itemList[lastIndex].sonProjectList = [Value]; |
|||
} |
|||
this.itemList.splice(index, 1); |
|||
// 清空 |
|||
this.clearSet(i); |
|||
const options = { |
|||
id: Value.id, |
|||
parentId: this.itemList[lastIndex - 1].id, |
|||
}; |
|||
this.$emit('change', options); |
|||
} else { |
|||
let arr = index.split('-'); |
|||
let Value = this.itemList[arr[0] - 0].sonProjectList[arr[1] - 0]; |
|||
if (this.itemList[lastIndex].sonProjectList && this.itemList[lastIndex].sonProjectList.length) { |
|||
this.itemList[lastIndex].sonProjectList.push(Value); |
|||
} else { |
|||
this.itemList[lastIndex].sonProjectList = [Value]; |
|||
} |
|||
this.itemList[arr[0] - 0].sonProjectList.splice([arr[1] - 0], 1); |
|||
// 清空 |
|||
this.clearSet(i); |
|||
const options = { |
|||
id: Value.id, |
|||
parentId: this.itemList[lastIndex].id, |
|||
}; |
|||
this.$emit('change', options); |
|||
|
|||
const options1 = { |
|||
id: Value.id, |
|||
parentId: 0, |
|||
}; |
|||
this.$emit('change', options1); |
|||
} |
|||
return; |
|||
} |
|||
} |
|||
}, |
|||
|
|||
// 还原初始数据 |
|||
clearSet(i) { |
|||
this.itemList[i].showBorder = false; |
|||
this.itemList[i].showSubBorder = false; |
|||
this.itemList[i].showTopBorder = false; |
|||
this.deltaLeft == 0; |
|||
this.showMoveImage = false; |
|||
this.setSubItem = false; |
|||
this.changeEvent = false; |
|||
this.showItemIndex = undefined; |
|||
}, |
|||
|
|||
// 找到停下的元素的下标 |
|||
findOverIndex(posY) { |
|||
// 如果有子项目展开着 |
|||
let leng = this.itemList.length * this.itemHeight; // 最后一个元素距离顶部的距离 |
|||
if (posY < this.begintop) { |
|||
return -1; |
|||
} |
|||
for (var i = 0; i < this.itemList.length; i++) { |
|||
let begin = this.itemHeight * i + this.begintop; |
|||
let end = this.itemHeight * i + this.begintop + this.itemHeight; |
|||
if (begin <= posY && end >= posY) { |
|||
return i; |
|||
} |
|||
} |
|||
if (posY > leng) { |
|||
// 交换最后一个 |
|||
return this.itemList.length - 1; |
|||
} else if (posY < this.begintop) { |
|||
return 0; |
|||
} |
|||
}, |
|||
|
|||
// 删除项目 |
|||
delProject(id) { |
|||
uni.showModal({ |
|||
title: '', |
|||
content: '是否删除项目?', |
|||
showCancel: true, |
|||
success: async ({ confirm }) => { |
|||
if (confirm) { |
|||
await this.$u.api.delProject(id); |
|||
let flag_index = 0; |
|||
this.itemList.forEach((item, index) => { |
|||
if (item.id == id) { |
|||
flag_index = index; |
|||
} |
|||
}); |
|||
|
|||
this.itemList.splice(flag_index, 1); |
|||
this.setProjects(this.itemList); |
|||
} |
|||
}, |
|||
}); |
|||
}, |
|||
}, |
|||
}; |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
.cu-item { |
|||
width: 100%; |
|||
display: flex; |
|||
align-items: center; |
|||
font-size: 14px; |
|||
} |
|||
|
|||
.border-100 { |
|||
width: 92%; |
|||
height: 4rpx; |
|||
} |
|||
.border-80 { |
|||
width: 84%; |
|||
height: 2px; |
|||
margin-left: 30px; |
|||
} |
|||
</style> |
@ -0,0 +1,160 @@ |
|||
<template> |
|||
<view class="w-full"> |
|||
<!-- 有子项目 --> |
|||
<view class="flex items-center justify-between p-3"> |
|||
<u-icon @click="openMenu(item)" class="mover" name="https://www.tall.wiki/staticrec/drag.svg" size="48"></u-icon> |
|||
|
|||
<view @click="openProject(item)" class="flex-1 px-3"> |
|||
<view class="flex items-center mb-1"> |
|||
<view class="mr-2">{{ item.name }}</view> |
|||
<!-- 状态 TODO:--> |
|||
<view class="px-2 text-xs text-green-400 bg-green-100 rounded-full flex-shrink-0">进行中</view> |
|||
</view> |
|||
|
|||
<view class="flex items-center text-xs text-gray-400"> |
|||
<view class="pr-2">{{ $moment(+item.startTime).format('MM-DD HH:mm') }}</view> |
|||
至 |
|||
<view class="pl-2">{{ $moment(+item.endTime).format('MM-DD HH:mm') }}</view> |
|||
</view> |
|||
</view> |
|||
|
|||
<!-- 箭头 --> |
|||
<view v-if="item.sonProjectList && item.sonProjectList.length"> |
|||
<u-icon |
|||
@click="$emit('openSubProject', item.sonProjectList.length, index)" |
|||
class="text-gray-400" |
|||
name="arrow-up" |
|||
size="14px" |
|||
v-if="item.show" |
|||
></u-icon> |
|||
<u-icon |
|||
@click="$emit('openSubProject', item.sonProjectList.length, index)" |
|||
class="text-gray-400" |
|||
name="arrow-down" |
|||
size="14px" |
|||
v-else |
|||
></u-icon> |
|||
</view> |
|||
<u-icon @click="openProject(item)" class="text-gray-400" name="arrow-right" size="14px" v-else></u-icon> |
|||
</view> |
|||
<!-- 有子项目 --> |
|||
<view class="ml-8" v-if="item.show"> |
|||
<view |
|||
:id="'cu-' + index + '-' + subIndex" |
|||
:key="subIndex" |
|||
class="cu-item flex-col" |
|||
v-for="(subItem, subIndex) in item.sonProjectList" |
|||
> |
|||
<!-- <view :key="subItem.id" v-for="subItem in item.sonProjectList"> --> |
|||
<view class="flex items-center justify-between p-3"> |
|||
<u-icon @click="openMenu(subItem)" class="mover" name="https://www.tall.wiki/staticrec/drag.svg" size="48"></u-icon> |
|||
|
|||
<view @click="openProject(subItem)" class="flex-1 px-3"> |
|||
<view class="flex items-center"> |
|||
<view class="mr-2">{{ subItem.name }}</view> |
|||
<!-- 状态 --> |
|||
<view |
|||
:class=" |
|||
subItem.status === 0 |
|||
? 'text-blue-400 bg-blue-100' |
|||
: subItem.status === 1 |
|||
? 'text-green-400 bg-green-100' |
|||
: subItem.status === 2 |
|||
? 'text-red-400 bg-red-100' |
|||
: 'text-gray-400 bg-gray-100' |
|||
" |
|||
class="px-2 text-xs text-gray-400 bg-gray-100 rounded-full flex-shrink-0" |
|||
> |
|||
{{ subItem.status === 0 ? '未开始' : subItem.status === 1 ? '进行中' : subItem.status === 2 ? '暂停' : '已完成' }} |
|||
</view> |
|||
</view> |
|||
</view> |
|||
|
|||
<!-- 箭头 --> |
|||
<u-icon @click="openProject(subItem)" class="text-gray-400" name="arrow-right" size="14px"></u-icon> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
<!-- 项目操作面板 --> |
|||
<!-- <u-action-sheet :list="menuList" :tips="tips" @click="$emit('chooseAction', $event)" v-model="showMenu"></u-action-sheet> --> |
|||
<!-- <u-action-sheet :list="menuList" :tips="tips" @click="chooseAction" v-model="showMenu"></u-action-sheet> --> |
|||
</view> |
|||
</template> |
|||
|
|||
<script> |
|||
import { mapGetters } from 'vuex'; |
|||
|
|||
export default { |
|||
props: { |
|||
item: { |
|||
type: Object, |
|||
default: () => {}, |
|||
}, |
|||
index: { |
|||
type: Number, |
|||
default: 0, |
|||
}, |
|||
menuList: { |
|||
type: Array, |
|||
default: () => [], |
|||
}, |
|||
}, |
|||
data() { |
|||
return { |
|||
showMenu: false, |
|||
tips: { |
|||
text: '', |
|||
color: '#909399', |
|||
fontSize: 28, |
|||
}, |
|||
show: false, |
|||
border: 'border border-blue-500 shadow rounded-md', |
|||
showBorder: false, |
|||
projectId: 0, |
|||
}; |
|||
}, |
|||
|
|||
computed: mapGetters('user', ['userId']), |
|||
|
|||
methods: { |
|||
// 打开项目详情 |
|||
openProject(project) { |
|||
const { name, id, url } = project; |
|||
url && (uni.$t.domain = url); |
|||
this.$u.route('pages/project-webview/project-webview', { |
|||
u: this.userId, |
|||
p: id, |
|||
pname: name, |
|||
url: encodeURIComponent(url), |
|||
}); |
|||
}, |
|||
|
|||
/** |
|||
* 弹出项目操作面板 |
|||
*/ |
|||
openMenu(project) { |
|||
this.showMenu = true; |
|||
this.projectId = project.id; |
|||
this.tips.text = project.name; |
|||
|
|||
this.$emit('setData', this.showMenu, this.projectId, this.tips); |
|||
}, |
|||
|
|||
// chooseAction(e) { |
|||
// let data = { index: e, projectId: this.projectId }; |
|||
// this.$emit('chooseAction', data); |
|||
// }, |
|||
}, |
|||
}; |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
.border-100 { |
|||
height: 4rpx; |
|||
margin: 0 20rpx; |
|||
} |
|||
.border-80 { |
|||
height: 4rpx; |
|||
margin: 0 20rpx 0 90rpx; |
|||
} |
|||
</style> |
@ -0,0 +1,65 @@ |
|||
<template> |
|||
<view class="py-3 mt-4 bg-white u-font-15"> |
|||
<PrettyExchange @change="change" /> |
|||
</view> |
|||
</template> |
|||
|
|||
<script> |
|||
import PrettyExchange from '../PrettyExchange/PrettyExchange.vue'; |
|||
|
|||
export default { |
|||
components: { PrettyExchange }, |
|||
data() { |
|||
return {}; |
|||
}, |
|||
|
|||
methods: { |
|||
change(options) { |
|||
if (options instanceof Array) { |
|||
let projectIdList = []; |
|||
let arr = []; |
|||
options.forEach(item => { |
|||
projectIdList.push(item.id); |
|||
arr.push(item.name); |
|||
}); |
|||
this.setProjectSort(projectIdList); |
|||
} else { |
|||
this.setProjectRelation(options); |
|||
} |
|||
}, |
|||
|
|||
/** |
|||
* 设置项目顺序 |
|||
* @param { Array } projectIdList 项目id |
|||
*/ |
|||
async setProjectSort(projectIdList) { |
|||
try { |
|||
const params = { projectIdList }; |
|||
await this.$u.api.setProjectSort(params); |
|||
this.$t.ui.showToast('排序修改成功'); |
|||
} catch (error) { |
|||
console.log('error: ', error); |
|||
this.$t.ui.showToast(error.msg || '排序修改失败'); |
|||
} |
|||
this.$emit('getProjects'); |
|||
}, |
|||
|
|||
/** |
|||
* 设置项目父子结构 |
|||
* @param { string } id 当前移动的项目的id |
|||
* @param { string } parentId 父项目的id |
|||
*/ |
|||
async setProjectRelation(options) { |
|||
try { |
|||
const params = options; |
|||
await this.$u.api.setProjectRelation(params); |
|||
this.$t.ui.showToast('排序修改成功'); |
|||
} catch (error) { |
|||
console.error('error: ', error); |
|||
this.$t.ui.showToast(error.msg || '排序修改失败'); |
|||
} |
|||
this.$emit('getProjects'); |
|||
}, |
|||
}, |
|||
}; |
|||
</script> |
@ -0,0 +1,46 @@ |
|||
<template> |
|||
<view class="upload"> |
|||
<u-icon name="plus" size="24px" class="flex justify-center w-12 h-12 bg-blue-100 rounded-full shadow-md" @click="handleUpload"></u-icon> |
|||
</view> |
|||
</template> |
|||
|
|||
<script> |
|||
import { mapGetters } from 'vuex'; |
|||
|
|||
export default { |
|||
computed: mapGetters('user', ['userId']), |
|||
methods: { |
|||
// 导入wbs |
|||
async handleUpload() { |
|||
try { |
|||
const data = await this.$u.api.import(); |
|||
// 导入WBS成功后 |
|||
// 直接打开导入的项目 |
|||
this.$emit('success'); |
|||
data.url && (uni.$t.domain = data.url); |
|||
setTimeout(() => { |
|||
this.$u.route('/pages/project-webview/project-webview', { |
|||
u: this.userId, |
|||
p: data.id, |
|||
pname: data.pname, |
|||
url: data.url, |
|||
}); |
|||
}, 2000); |
|||
} catch (error) { |
|||
console.log('error: ', error); |
|||
this.$emit('error', error); |
|||
} |
|||
}, |
|||
}, |
|||
}; |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
.upload { |
|||
position: absolute; |
|||
right: 10px; |
|||
bottom: 0; |
|||
transform: translate3d(0, 50%, 0); |
|||
color: $uni-color-primary !important; |
|||
} |
|||
</style> |
@ -0,0 +1,6 @@ |
|||
export default { |
|||
V: "v3.2.0", |
|||
version: "v3.2.0", |
|||
theme: [], |
|||
tokenKey: 'anyringToken', // storage token key
|
|||
}; |
@ -0,0 +1,43 @@ |
|||
// 用户登录client
|
|||
export const clients = { mp: 0, h5: 1, android: 2, ios: 3 }; |
|||
|
|||
// 用户登录类型
|
|||
export const types = { |
|||
mp: 0, |
|||
phone: 1, |
|||
email: 2, |
|||
username: 3, |
|||
wx: 4, |
|||
wx_web: 5, |
|||
wb: 6, |
|||
}; |
|||
|
|||
// 小程序获取参数
|
|||
export const mp = () => { |
|||
return new Promise((resolve, reject) => { |
|||
uni.login({ |
|||
provider: 'weixin', |
|||
success(res) { |
|||
if (res.code) { |
|||
const params = { |
|||
client: uni.$t.user.clients['mp'], |
|||
type: uni.$t.user.types['mp'], |
|||
data: { identifier: res.code, credential: 'tall' }, |
|||
}; |
|||
resolve(params); |
|||
} else { |
|||
reject(res.errMsg); |
|||
} |
|||
}, |
|||
fail() { |
|||
console.log('fail'); |
|||
reject('微信登录失败'); |
|||
}, |
|||
}); |
|||
}); |
|||
}; |
|||
|
|||
export default { |
|||
clients, |
|||
types, |
|||
}; |
@ -0,0 +1,5 @@ |
|||
// 定义项目中定位的元素的层级
|
|||
/* eslint-disable */ |
|||
export default { |
|||
roleBar: 999, // 角色栏成绩
|
|||
}; |
@ -0,0 +1,38 @@ |
|||
import App from './App'; |
|||
import Tall from '@/utils/tall'; |
|||
import Vue from 'vue'; |
|||
import dayjs from 'dayjs'; |
|||
import request from '@/utils/request.js'; |
|||
import store from './store'; |
|||
import tall from '@/apis/tall.js'; |
|||
import uView from 'uview-ui'; |
|||
import wbs from '@/apis/wbs.js'; |
|||
|
|||
//#ifdef H5
|
|||
// import './registerServiceWorker';
|
|||
// import AlloyFinger from 'alloyfinger';
|
|||
// import AlloyFingerPlugin from 'alloyfinger/vue/alloy_finger_vue';
|
|||
// Vue.use(AlloyFingerPlugin, { AlloyFinger });
|
|||
// indexedDB
|
|||
// import indexedDB from '@/utils/indexedDB';
|
|||
// Vue.use(indexedDB);
|
|||
//#endif
|
|||
|
|||
Vue.config.productionTip = false; |
|||
Vue.prototype.$moment = dayjs; |
|||
Vue.use(uView); |
|||
Vue.use(Tall); |
|||
|
|||
uni.$moment = dayjs; |
|||
|
|||
dayjs.locale('zh-cn'); |
|||
|
|||
App.mpType = 'app'; |
|||
|
|||
const app = new Vue({ ...App, store }); |
|||
|
|||
Vue.use(request, app); |
|||
Vue.use(tall, app); |
|||
Vue.use(wbs, app); |
|||
|
|||
app.$mount(); |
@ -0,0 +1,79 @@ |
|||
{ |
|||
"name" : "TALL", |
|||
"appid" : "__UNI__8618A03", |
|||
"description" : "", |
|||
"versionName" : "1.0.0", |
|||
"versionCode" : "100", |
|||
"transformPx" : false, |
|||
"app-plus" : { |
|||
/* 5+App特有相关 */ |
|||
"usingComponents" : true, |
|||
"splashscreen" : { |
|||
"alwaysShowBeforeRender" : true, |
|||
"waiting" : true, |
|||
"autoclose" : true, |
|||
"delay" : 0 |
|||
}, |
|||
"modules" : {}, |
|||
/* 模块配置 */ |
|||
"distribute" : { |
|||
/* 应用发布信息 */ |
|||
"android" : { |
|||
/* android打包配置 */ |
|||
"permissions" : [ |
|||
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>", |
|||
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>", |
|||
// "<uses-permission android:name=\"android.permission.READ_CONTACTS\"/>", |
|||
"<uses-permission android:name=\"android.permission.VIBRATE\"/>", |
|||
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>", |
|||
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>", |
|||
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>", |
|||
"<uses-permission android:name=\"android.permission.WRITE_CONTACTS\"/>", |
|||
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>", |
|||
"<uses-permission android:name=\"android.permission.CAMERA\"/>", |
|||
"<uses-permission android:name=\"android.permission.RECORD_AUDIO\"/>", |
|||
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>", |
|||
"<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>", |
|||
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>", |
|||
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>", |
|||
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>", |
|||
"<uses-permission android:name=\"android.permission.CALL_PHONE\"/>", |
|||
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>", |
|||
"<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>", |
|||
"<uses-feature android:name=\"android.hardware.camera\"/>", |
|||
"<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>", |
|||
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>" |
|||
] |
|||
}, |
|||
"ios" : {}, |
|||
/* ios打包配置 */ |
|||
"sdkConfigs" : { |
|||
"ad" : {} |
|||
} |
|||
} |
|||
}, |
|||
/* SDK配置 */ |
|||
"quickapp" : {}, |
|||
/* 快应用特有相关 */ |
|||
"mp-weixin" : { |
|||
"appid" : "wxf72a76c2ea24a472", |
|||
"setting" : { |
|||
"urlCheck" : false |
|||
}, |
|||
"usingComponents" : true |
|||
}, |
|||
"h5" : { |
|||
"router" : { |
|||
"base" : "/tall/v3.2.0" |
|||
}, |
|||
"title" : "时物链条", |
|||
"sdkConfigs" : { |
|||
"maps" : {} |
|||
}, |
|||
"optimization" : { |
|||
"treeShaking" : { |
|||
"enable" : false |
|||
} |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,48 @@ |
|||
import { mapMutations, mapState } from 'vuex'; |
|||
|
|||
import { waitTokenRequest } from '@/utils/cacheAndRequest'; |
|||
|
|||
export default { |
|||
computed: mapState('user', ['token', 'user']), |
|||
methods: { |
|||
...mapMutations('user', ['setUser']), |
|||
// 获取授权
|
|||
openAuth() { |
|||
if (this.user && this.user.wxInfo && this.user.wxInfo.nickname) return; // 用户信息里有微信信息就不用再获取了
|
|||
if (this.token) { |
|||
this.updateUserInfo(); |
|||
} else { |
|||
waitTokenRequest(this.updateUserInfo); |
|||
} |
|||
}, |
|||
|
|||
// 弹出授权框
|
|||
// 用户允许后 提交微信用户信息
|
|||
updateUserInfo() { |
|||
/* #ifdef MP-WEIXIN */ |
|||
uni.getUserProfile({ |
|||
desc: 'TALL仅需要获取您的基本用户信息', |
|||
success: async res => { |
|||
const { avatarUrl, city, country, gender, language, nickName, province } = res.userInfo; |
|||
const data = await this.$u.api.updateUserInfo({ |
|||
city, |
|||
country, |
|||
headImgUrl: avatarUrl, |
|||
language, |
|||
nickname: nickName, |
|||
province, |
|||
sex: gender, |
|||
}); |
|||
console.log('data: ', data); |
|||
const { user } = this; |
|||
user.wxInfo = data; |
|||
this.setUser(user); |
|||
}, |
|||
fail: error => { |
|||
console.log('error: ', error); |
|||
}, |
|||
}); |
|||
/* #endif */ |
|||
}, |
|||
}, |
|||
}; |
@ -0,0 +1,6 @@ |
|||
root = true |
|||
|
|||
[*] |
|||
charset = utf-8 |
|||
end_of_line = lf |
|||
insert_final_newline = true |
@ -0,0 +1,785 @@ |
|||
## [1.10.7](https://github.com/iamkun/dayjs/compare/v1.10.6...v1.10.7) (2021-09-10) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* Add Spanish (Mexico) [es-mx] locale ([#1614](https://github.com/iamkun/dayjs/issues/1614)) ([3393f2a](https://github.com/iamkun/dayjs/commit/3393f2ad55346d55902683a2e31c6f253d96c8c2)) |
|||
* Add Arabic (Iraq) [ar-iq] locale ([#1627](https://github.com/iamkun/dayjs/issues/1627)) ([b5a1391](https://github.com/iamkun/dayjs/commit/b5a1391011b247d08863d291542db5937b23b427)) |
|||
* add format object type to type file ([#1572](https://github.com/iamkun/dayjs/issues/1572)) ([5a79cc6](https://github.com/iamkun/dayjs/commit/5a79cc6408e825d9e123629eb44fc19c996d7751)) |
|||
* duration plugin when parsing duration from ISO string, set missing components to 0 instead of NaN ([#1611](https://github.com/iamkun/dayjs/issues/1611)) ([252585b](https://github.com/iamkun/dayjs/commit/252585b4b2bd59508150e21bb994908a9d78f9b0)) |
|||
* narrow type for `add` and `subtract` ([#1576](https://github.com/iamkun/dayjs/issues/1576)) ([1686962](https://github.com/iamkun/dayjs/commit/16869621b1a42563064dbf87f80c1ebfd74c1188)) |
|||
* update customParseFormat plugin strict x X parsing ([#1571](https://github.com/iamkun/dayjs/issues/1571)) ([08adda5](https://github.com/iamkun/dayjs/commit/08adda54edbcca38601f57841921d0f87f84e49e)) |
|||
* update Lithuanian [lt] locale spelling for single month ([#1609](https://github.com/iamkun/dayjs/issues/1609)) ([255dc54](https://github.com/iamkun/dayjs/commit/255dc54d9295de135a9037ce6ca13cae4bfd2cfb)) |
|||
* Update Norwegian Bokmål [nb] local yearStart 4 ([#1608](https://github.com/iamkun/dayjs/issues/1608)) ([7a8467c](https://github.com/iamkun/dayjs/commit/7a8467c0b7d59821f7e19d4a6973bcda8e4c19b1)) |
|||
* update plugin advancedFormat `isValid` validation ([#1566](https://github.com/iamkun/dayjs/issues/1566)) ([755fc8b](https://github.com/iamkun/dayjs/commit/755fc8bb1c532eb991459f180eee81367d12016c)) |
|||
* update Sinhalese [si] locale month name ([#1475](https://github.com/iamkun/dayjs/issues/1475)) ([63de2a8](https://github.com/iamkun/dayjs/commit/63de2a8b7dcd7e68c132c85d88572d4c9d296907)) |
|||
* update utcOffset plugin type file ([#1604](https://github.com/iamkun/dayjs/issues/1604)) ([f68e4b1](https://github.com/iamkun/dayjs/commit/f68e4b1a29fc33542f74cde10ec6d9fb045ca37e)) |
|||
|
|||
## [1.10.6](https://github.com/iamkun/dayjs/compare/v1.10.5...v1.10.6) (2021-07-06) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* add invalid date string override ([#1465](https://github.com/iamkun/dayjs/issues/1465)) ([#1470](https://github.com/iamkun/dayjs/issues/1470)) ([06f88f4](https://github.com/iamkun/dayjs/commit/06f88f425828b1ce96b737332d25145a95a4ee9d)) |
|||
* add sv-fi Finland Swedish locale ([#1522](https://github.com/iamkun/dayjs/issues/1522)) ([8e32164](https://github.com/iamkun/dayjs/commit/8e32164855cff724642e24c37a631eb4c4d760c8)) |
|||
* customParseFormat support parsing X x timestamp ([#1567](https://github.com/iamkun/dayjs/issues/1567)) ([eb087f5](https://github.com/iamkun/dayjs/commit/eb087f52861313b8dd8a5c1b77858665ec72859e)) |
|||
* dayjs ConfigTypeMap add null & undefined ([#1560](https://github.com/iamkun/dayjs/issues/1560)) ([b5e40e6](https://github.com/iamkun/dayjs/commit/b5e40e6f16abeaea6a0facfa466d20aefaa8a444)) |
|||
* Fix DayOfYear plugin when using BadMutable plugin ([#1511](https://github.com/iamkun/dayjs/issues/1511)) ([0b0c6a3](https://github.com/iamkun/dayjs/commit/0b0c6a31ec9c0aff991b0e8dd6eed116201274cc)) |
|||
* Implement ordinal in Bulgarian translation (fixes [#1501](https://github.com/iamkun/dayjs/issues/1501)) ([#1502](https://github.com/iamkun/dayjs/issues/1502)) ([b728da5](https://github.com/iamkun/dayjs/commit/b728da5ed9ed08210004ed20ce5fcd52a92de7da)) |
|||
* more strict delimiter in REGEX_PARSE ([#1555](https://github.com/iamkun/dayjs/issues/1555)) ([bfdab5c](https://github.com/iamkun/dayjs/commit/bfdab5c0d45a5736b68e8e1b1354fc021e05f607)) |
|||
* parameter type ([#1549](https://github.com/iamkun/dayjs/issues/1549)) ([f369844](https://github.com/iamkun/dayjs/commit/f369844dd69d253c4c7cbf68150939db3db233be)) |
|||
* update customParseFormat plugin to custom two-digit year parse function ([#1421](https://github.com/iamkun/dayjs/issues/1421)) ([bb5df55](https://github.com/iamkun/dayjs/commit/bb5df55cd3975dc7638b8f4e762afa470b6620f7)) |
|||
* update names of weekdays and months in Bulgarian [bg] to lowercase ([#1438](https://github.com/iamkun/dayjs/issues/1438)) ([b246210](https://github.com/iamkun/dayjs/commit/b24621091fec9cf6704de21e4b323f6f0c4abbf1)) |
|||
* update type file `.diff` ([#1505](https://github.com/iamkun/dayjs/issues/1505)) ([6508494](https://github.com/iamkun/dayjs/commit/6508494a4e62977b4397baaeef293d1bcf3c7235)) |
|||
* update UTC plugin type file for strict parsing ([#1443](https://github.com/iamkun/dayjs/issues/1443)) ([b4f28df](https://github.com/iamkun/dayjs/commit/b4f28df219fe63202dffdbeeaec5677c4d2c9111)) |
|||
|
|||
## [1.10.5](https://github.com/iamkun/dayjs/compare/v1.10.4...v1.10.5) (2021-05-26) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* add meridiem in ar locales ([#1375](https://github.com/iamkun/dayjs/issues/1375)) ([319f616](https://github.com/iamkun/dayjs/commit/319f616e572a03b984013d04d1b3a18ffd5b1190)) |
|||
* Added Zulu support to customParseFormat ([#1359](https://github.com/iamkun/dayjs/issues/1359)) ([1138a3f](https://github.com/iamkun/dayjs/commit/1138a3f0a76592c6d72fb86c4399e133fa41e2ec)) |
|||
* fix Bengali [bn] locale monthsShort error ([a0e6c0c](https://github.com/iamkun/dayjs/commit/a0e6c0cf3e1828020dfa11432c6716990f6ed5e0)) |
|||
* fix missing types for ArraySupport plugin ([#1401](https://github.com/iamkun/dayjs/issues/1401)) ([b1abdc4](https://github.com/iamkun/dayjs/commit/b1abdc40ee6c9d18ff46c311a114e0755677ea6f)) |
|||
* fix Ukrainian [uk] locale ([#1463](https://github.com/iamkun/dayjs/issues/1463)) ([0fdac93](https://github.com/iamkun/dayjs/commit/0fdac93ff2531542301b76952be9b084b2e2dfa0)) |
|||
* hotfix for `Duration` types ([#1357](https://github.com/iamkun/dayjs/issues/1357)) ([855b7b3](https://github.com/iamkun/dayjs/commit/855b7b3d049a3903794f91db3419f167c00dabd2)), closes [#1354](https://github.com/iamkun/dayjs/issues/1354) |
|||
* timezone plugin DST error ([#1352](https://github.com/iamkun/dayjs/issues/1352)) ([71bed15](https://github.com/iamkun/dayjs/commit/71bed155edf32bff24379930ac684fc783538d8f)) |
|||
* Update duration plugin change string to number ([#1394](https://github.com/iamkun/dayjs/issues/1394)) ([e1546d1](https://github.com/iamkun/dayjs/commit/e1546d1a0cdb97ae92cf11efe61d94707af6a3a3)) |
|||
* update Duration plugin to support no-argument ([#1400](https://github.com/iamkun/dayjs/issues/1400)) ([8d9a5ae](https://github.com/iamkun/dayjs/commit/8d9a5ae0749e1b4e76babd4deeaa3b1d9776c29b)) |
|||
* Update Finnish [fi] locale to set yearStart ([#1378](https://github.com/iamkun/dayjs/issues/1378)) ([f3370bd](https://github.com/iamkun/dayjs/commit/f3370bda4e435118f714c8a7daf5c88cfc4b69ba)) |
|||
* update Russian [ru] locale meridiem and unit tests ([#1403](https://github.com/iamkun/dayjs/issues/1403)) ([f10f39d](https://github.com/iamkun/dayjs/commit/f10f39de7db70244a3c35e4a421090a12972457b)) |
|||
* update Russian [ru] locale yearStart config ([#1372](https://github.com/iamkun/dayjs/issues/1372)) ([5052515](https://github.com/iamkun/dayjs/commit/5052515fe35b2444201ef8ef87220b1876a94d0a)) |
|||
* update Slovenian [sl] locale to set correct ordinal ([#1386](https://github.com/iamkun/dayjs/issues/1386)) ([cb4f746](https://github.com/iamkun/dayjs/commit/cb4f74633b3020d6dbf19548c8cb13613dafca18)) |
|||
* update Spanish [es] locale to change month names to lowercase ([#1414](https://github.com/iamkun/dayjs/issues/1414)) ([9c20e77](https://github.com/iamkun/dayjs/commit/9c20e77caf7b1b5eccf418175203b198d4e29535)) |
|||
* update Swedish [sv] locale to set correct yearStart ([#1385](https://github.com/iamkun/dayjs/issues/1385)) ([66c5935](https://github.com/iamkun/dayjs/commit/66c59354964ef456bcd5f6152819618f44978082)) |
|||
* update UTC plugin to support string argument like +HH:mm ([#1395](https://github.com/iamkun/dayjs/issues/1395)) ([656127c](https://github.com/iamkun/dayjs/commit/656127cc44eda50923a1ac755602863fc32b9e69)) |
|||
|
|||
## [1.10.4](https://github.com/iamkun/dayjs/compare/v1.10.3...v1.10.4) (2021-01-22) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* Correct handling negative duration ([#1317](https://github.com/iamkun/dayjs/issues/1317)) ([3f5c085](https://github.com/iamkun/dayjs/commit/3f5c085608182472f20b84766b10949945663e44)) |
|||
* Improve `Duration` types ([#1338](https://github.com/iamkun/dayjs/issues/1338)) ([4aca4b1](https://github.com/iamkun/dayjs/commit/4aca4b1b584a15de1146d929f95c944594032f20)) |
|||
* parse a string for MMM month format with underscore delimiter ([#1349](https://github.com/iamkun/dayjs/issues/1349)) ([82ef9a3](https://github.com/iamkun/dayjs/commit/82ef9a304f06287ac0a14c4da9a7fe6152b5fec9)) |
|||
* Update Bengali [bn] locale ([#1329](https://github.com/iamkun/dayjs/issues/1329)) ([02d96ec](https://github.com/iamkun/dayjs/commit/02d96ec7189f62d6ef8987135919cbb5ceff20a6)) |
|||
* update locale Portuguese [pt] yearStart ([#1345](https://github.com/iamkun/dayjs/issues/1345)) ([5c785d5](https://github.com/iamkun/dayjs/commit/5c785d528cc08811638d7cbfc7fc158d67b32d75)) |
|||
* update Polish [pl] locale yearStart ([#1348](https://github.com/iamkun/dayjs/issues/1348)) ([e93e6b8](https://github.com/iamkun/dayjs/commit/e93e6b8ffa61036b26382f1763e3864d4a7d5df5)) |
|||
* Update Slovenian [sl] relativeTime locale ([#1333](https://github.com/iamkun/dayjs/issues/1333)) ([fe5f1d0](https://github.com/iamkun/dayjs/commit/fe5f1d0afbe57b70339e268047e6c3028ca3d59b)) |
|||
|
|||
## [1.10.3](https://github.com/iamkun/dayjs/compare/v1.10.2...v1.10.3) (2021-01-09) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* fix customParseFormat plugin strict mode parse meridiem bug ([#1321](https://github.com/iamkun/dayjs/issues/1321)) ([e49eeef](https://github.com/iamkun/dayjs/commit/e49eeefbe8acb36419d36ca2e7ed8bc152f73ac1)) |
|||
* fix weekYear plugin missing locale bug ([#1319](https://github.com/iamkun/dayjs/issues/1319)) ([344bdc0](https://github.com/iamkun/dayjs/commit/344bdc0eed6843edb05723dc7853a41833d88f08)), closes [#1304](https://github.com/iamkun/dayjs/issues/1304) |
|||
* update advancedFormat plugin to add format options for iso week and weekyear ([#1309](https://github.com/iamkun/dayjs/issues/1309)) ([2c54c64](https://github.com/iamkun/dayjs/commit/2c54c6441871a175ac9b95e41e4cd075dbac10cb)) |
|||
* update devHelper to add dev warning setting locale before loading ([c5cc893](https://github.com/iamkun/dayjs/commit/c5cc89355e1e206ca72433c19c40cb528690b04f)) |
|||
* update German [de] locale yearStart ([1858df8](https://github.com/iamkun/dayjs/commit/1858df8008de56570680723df89b36a8cbc970ef)), closes [#1264](https://github.com/iamkun/dayjs/issues/1264) |
|||
|
|||
## [1.10.2](https://github.com/iamkun/dayjs/compare/v1.10.1...v1.10.2) (2021-01-05) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* fix parse regex bug ([#1307](https://github.com/iamkun/dayjs/issues/1307)) ([db2b6a5](https://github.com/iamkun/dayjs/commit/db2b6a5ea8e70f9fda645d113ca33495aa96b616)), closes [#1305](https://github.com/iamkun/dayjs/issues/1305) |
|||
* remove module entry in package.json to revert 1.10.1 change ([#1314](https://github.com/iamkun/dayjs/issues/1314)) ([824dcb8](https://github.com/iamkun/dayjs/commit/824dcb8dfcccf14f64b6a2741a00fcdfe53dcd98)) |
|||
* update devHelper add warning "passing Year as a Number will be parsed as a Unix timestamp" ([#1315](https://github.com/iamkun/dayjs/issues/1315)) ([b0dda31](https://github.com/iamkun/dayjs/commit/b0dda3139e25441ab4e7c1f4f192dee0ecce6ef8)) |
|||
|
|||
## [1.10.1](https://github.com/iamkun/dayjs/compare/v1.10.0...v1.10.1) (2021-01-03) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* fix typescript type error UnitTypeLongPlural ([#1302](https://github.com/iamkun/dayjs/issues/1302)) ([bfaabe4](https://github.com/iamkun/dayjs/commit/bfaabe4f398c11564eca6cda7c8aded22e1b231a)), closes [#1300](https://github.com/iamkun/dayjs/issues/1300) |
|||
|
|||
# [1.10.0](https://github.com/iamkun/dayjs/compare/v1.9.8...v1.10.0) (2021-01-03) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* add ordinal to localeData plugin ([#1266](https://github.com/iamkun/dayjs/issues/1266)) ([fd229fa](https://github.com/iamkun/dayjs/commit/fd229fa5bd26bcba810e2535eb937ea8d99106c2)) |
|||
* add preParsePostFormat plugin & update Arabic [ar] locale ([#1255](https://github.com/iamkun/dayjs/issues/1255)) ([f2e4790](https://github.com/iamkun/dayjs/commit/f2e479006a9a49bc0917f8620101d40ac645f7f2)) |
|||
* add type support for plural forms of units ([#1289](https://github.com/iamkun/dayjs/issues/1289)) ([de49bb1](https://github.com/iamkun/dayjs/commit/de49bb100badfb92b9a5933cc568841f340a923f)) |
|||
* escape last period to match only milliseconds ([#1239](https://github.com/iamkun/dayjs/issues/1239)) ([#1295](https://github.com/iamkun/dayjs/issues/1295)) ([64037e6](https://github.com/iamkun/dayjs/commit/64037e6a8cf303dcfd2b954f309bd9691f87fffc)) |
|||
|
|||
|
|||
### Features |
|||
|
|||
* add ES6 Module Support, package.json module point to "esm/index.js" ([#1298](https://github.com/iamkun/dayjs/issues/1298)) ([f63375d](https://github.com/iamkun/dayjs/commit/f63375dea89becbd3bb2bb8ea7289c58c752bfed)), closes [#598](https://github.com/iamkun/dayjs/issues/598) [#313](https://github.com/iamkun/dayjs/issues/313) |
|||
|
|||
## [1.9.8](https://github.com/iamkun/dayjs/compare/v1.9.7...v1.9.8) (2020-12-27) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* fix Ukrainian [uk] locale typo ([1605cc0](https://github.com/iamkun/dayjs/commit/1605cc0f6fe0e9c46a92d529bc9cd6e130432337)) |
|||
* update Hebrew [he] locale for double units ([#1287](https://github.com/iamkun/dayjs/issues/1287)) ([1c4b0da](https://github.com/iamkun/dayjs/commit/1c4b0da1468522e59dc9ee646d10dd2b31477d99)) |
|||
* update zh locale meridiem "noon" ([0e7ff3d](https://github.com/iamkun/dayjs/commit/0e7ff3dd29ca3aed85cb76dfcb8298d326e26542)) |
|||
* update zh-cn locale definition of noon ([#1278](https://github.com/iamkun/dayjs/issues/1278)) ([d5930b9](https://github.com/iamkun/dayjs/commit/d5930b96ff884f4176ca3fcb1bc95e8f1ec75c71)) |
|||
|
|||
## [1.9.7](https://github.com/iamkun/dayjs/compare/v1.9.6...v1.9.7) (2020-12-05) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* add duration.format to format a Duration ([#1202](https://github.com/iamkun/dayjs/issues/1202)) ([9a859a1](https://github.com/iamkun/dayjs/commit/9a859a147ba223a1eeff0f2bb6f33d97e0ccc6c7)) |
|||
* Add function handling for relativeTime.future and relativeTime.past ([#1197](https://github.com/iamkun/dayjs/issues/1197)) ([ef1979c](https://github.com/iamkun/dayjs/commit/ef1979ce85c61fe2d759ef3c37cb6aaf2358094f)) |
|||
* avoid install installed plugin ([#1214](https://github.com/iamkun/dayjs/issues/1214)) ([a92eb6c](https://github.com/iamkun/dayjs/commit/a92eb6c4dc1437ec920e69484d52984f5921a8ea)) |
|||
* avoid memory leak after installing a plugin too many times ([b8d2e32](https://github.com/iamkun/dayjs/commit/b8d2e32a9eb59661a7ed6200daa070687becaebd)) |
|||
* fix diff bug when UTC plugin enabled ([#1201](https://github.com/iamkun/dayjs/issues/1201)) ([9544ed2](https://github.com/iamkun/dayjs/commit/9544ed2a6c466b8308d26b33a388a6737435a1f4)), closes [#1200](https://github.com/iamkun/dayjs/issues/1200) |
|||
* fix startOf/endOf bug in timezone plugin ([#1229](https://github.com/iamkun/dayjs/issues/1229)) ([eb5fbc4](https://github.com/iamkun/dayjs/commit/eb5fbc4c7d1b62a8615d2f263b404a9515d8e15c)) |
|||
* fix utc plugin diff edge case ([#1187](https://github.com/iamkun/dayjs/issues/1187)) ([971b3d4](https://github.com/iamkun/dayjs/commit/971b3d40b4c9403165138f1034e2223cd97c3abf)) |
|||
* update customParseFormat plugin to parse 2-digit offset ([#1209](https://github.com/iamkun/dayjs/issues/1209)) ([b56936a](https://github.com/iamkun/dayjs/commit/b56936ab77b8f6289a1b77d49307b495c4bf9f91)), closes [#1205](https://github.com/iamkun/dayjs/issues/1205) |
|||
* Update timezone plugin type definition ([#1221](https://github.com/iamkun/dayjs/issues/1221)) ([34cfb92](https://github.com/iamkun/dayjs/commit/34cfb920b9653ad44d4b31fe49e533692a3ce01b)) |
|||
|
|||
## [1.9.6](https://github.com/iamkun/dayjs/compare/v1.9.5...v1.9.6) (2020-11-10) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* fix customParseFormat plugin parsing date bug ([#1198](https://github.com/iamkun/dayjs/issues/1198)) ([50f05ad](https://github.com/iamkun/dayjs/commit/50f05ad3addf27827c5657ae7519514e40d9faec)), closes [#1194](https://github.com/iamkun/dayjs/issues/1194) |
|||
* Update lv (Latvian) locale relative time ([#1192](https://github.com/iamkun/dayjs/issues/1192)) ([6d6c684](https://github.com/iamkun/dayjs/commit/6d6c6841b13ba4f7e69de92caf132a3592c5253a)) |
|||
|
|||
## [1.9.5](https://github.com/iamkun/dayjs/compare/v1.9.4...v1.9.5) (2020-11-05) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* customParseFormat plugin supports parsing localizedFormats ([#1110](https://github.com/iamkun/dayjs/issues/1110)) ([402b603](https://github.com/iamkun/dayjs/commit/402b603aa3ee4199786950bc88b3fdc6b527aa35)) |
|||
* fix customParseFormat plugin parse meridiem bug ([#1169](https://github.com/iamkun/dayjs/issues/1169)) ([9e8f8d9](https://github.com/iamkun/dayjs/commit/9e8f8d96c69d557f4d267f42567c25ae9e7ab227)), closes [#1168](https://github.com/iamkun/dayjs/issues/1168) |
|||
* fix devHelper error in umd bundle in browser ([#1165](https://github.com/iamkun/dayjs/issues/1165)) ([d11b5ee](https://github.com/iamkun/dayjs/commit/d11b5ee7dc11af671355f65ccda00f6ba42cc725)) |
|||
* fix utc plugin diff bug in DST ([#1171](https://github.com/iamkun/dayjs/issues/1171)) ([f8da3fe](https://github.com/iamkun/dayjs/commit/f8da3fe7e50c84c0502bf5be0b364910922dbd79)), closes [#1097](https://github.com/iamkun/dayjs/issues/1097) [#1021](https://github.com/iamkun/dayjs/issues/1021) |
|||
* isoWeek plugin type ([#1177](https://github.com/iamkun/dayjs/issues/1177)) ([c3d0436](https://github.com/iamkun/dayjs/commit/c3d0436b06f74989e3a2c751a5d170f8072c4aad)) |
|||
* update localeData plugin to support meridiem ([#1174](https://github.com/iamkun/dayjs/issues/1174)) ([fdb09e4](https://github.com/iamkun/dayjs/commit/fdb09e4074cc7e8f6196846f18d3566c1f9e8fcd)), closes [#1172](https://github.com/iamkun/dayjs/issues/1172) |
|||
* update timezone plugin parse Date instance / timestamp logic & remove useless test ([#1183](https://github.com/iamkun/dayjs/issues/1183)) ([a7f858b](https://github.com/iamkun/dayjs/commit/a7f858bb70ad81f718ba35c479e84b54eace48b2)) |
|||
|
|||
## [1.9.4](https://github.com/iamkun/dayjs/compare/v1.9.3...v1.9.4) (2020-10-23) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* Add descriptions to types ([#1148](https://github.com/iamkun/dayjs/issues/1148)) ([9a407a1](https://github.com/iamkun/dayjs/commit/9a407a140b089345a387d1aceab4d0d1635229c7)) |
|||
* add devHelper plugin ([#1163](https://github.com/iamkun/dayjs/issues/1163)) ([de49dc8](https://github.com/iamkun/dayjs/commit/de49dc80c83b85de4170571b64412bd60ada221b)) |
|||
* Fix Hungarian (hu) locale ([#1112](https://github.com/iamkun/dayjs/issues/1112)) ([ab13754](https://github.com/iamkun/dayjs/commit/ab13754f43c5033dacaa0eb2042dc4ab1a7a2754)) |
|||
* fix minMax plugin parsing empty array bug ([#1062](https://github.com/iamkun/dayjs/issues/1062)) ([368108b](https://github.com/iamkun/dayjs/commit/368108bc6d5cb1542f711b8eba722bd4dfaab0cd)) |
|||
* update adding/subtracting Duration from Dayjs object ([#1156](https://github.com/iamkun/dayjs/issues/1156)) ([f861aca](https://github.com/iamkun/dayjs/commit/f861acac3e83e28d3a4a96312c71119fd6b544fc)) |
|||
* update en-NZ locale to use proper ordinal formatting function ([#1143](https://github.com/iamkun/dayjs/issues/1143)) ([fcdbc58](https://github.com/iamkun/dayjs/commit/fcdbc5880710456a29b2bacf250542230bf48b99)) |
|||
* update localeData plugin type ([#1116](https://github.com/iamkun/dayjs/issues/1116)) ([ee5a4ec](https://github.com/iamkun/dayjs/commit/ee5a4ec41edddfb57d103c35182dc635c9264a10)) |
|||
* update timezone plugin to support custom parse format ([#1160](https://github.com/iamkun/dayjs/issues/1160)) ([48cbf31](https://github.com/iamkun/dayjs/commit/48cbf3118ba5427de428777c2e025896db654f2e)), closes [#1159](https://github.com/iamkun/dayjs/issues/1159) |
|||
* update timezone plugin to support keepLocalTime ([#1161](https://github.com/iamkun/dayjs/issues/1161)) ([1d429e5](https://github.com/iamkun/dayjs/commit/1d429e5fe4467ebddcf81b43cf6f36e5e3be944c)), closes [#1149](https://github.com/iamkun/dayjs/issues/1149) |
|||
|
|||
## [1.9.3](https://github.com/iamkun/dayjs/compare/v1.9.2...v1.9.3) (2020-10-13) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* fix localizedFormat export error ([#1133](https://github.com/iamkun/dayjs/issues/1133)) ([deecd6a](https://github.com/iamkun/dayjs/commit/deecd6ab8a2f4173ee7046f6b568b41fd2677531)), closes [#1132](https://github.com/iamkun/dayjs/issues/1132) |
|||
|
|||
## [1.9.2](https://github.com/iamkun/dayjs/compare/v1.9.1...v1.9.2) (2020-10-13) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* add arraySupport plugin ([#1129](https://github.com/iamkun/dayjs/issues/1129)) ([be505c2](https://github.com/iamkun/dayjs/commit/be505c2c540261027342cecc55d8919a3d18d893)) |
|||
* export type of duration plugin ([#1094](https://github.com/iamkun/dayjs/issues/1094)) ([2c92e71](https://github.com/iamkun/dayjs/commit/2c92e71bf55d09601120cdf433da7a19cc8abff6)) |
|||
* Fix LocaleData plugin longDateFormat lowercase error ([#1101](https://github.com/iamkun/dayjs/issues/1101)) ([7937ccd](https://github.com/iamkun/dayjs/commit/7937ccdeac47d094a60e65ebb62a6020b81c46f4)) |
|||
* Fix objectSupport plugin bug in UTC ([#1107](https://github.com/iamkun/dayjs/issues/1107)) ([fe90bb6](https://github.com/iamkun/dayjs/commit/fe90bb6944f2ff1969ca975954d303b449dfa95b)), closes [#1105](https://github.com/iamkun/dayjs/issues/1105) |
|||
* fix Serbian locale grammar (sr, sr-cyrl) ([#1108](https://github.com/iamkun/dayjs/issues/1108)) ([cc87eff](https://github.com/iamkun/dayjs/commit/cc87eff8b75b0d86ce0956516319d402bccae6c0)) |
|||
* Fix typo for "monday" in arabic ([#1067](https://github.com/iamkun/dayjs/issues/1067)) ([2e1e426](https://github.com/iamkun/dayjs/commit/2e1e42650124f30282dc4d710798d576b928f1c7)) |
|||
* support dayjs.add(Duration), dayjs.subtract(Duration) ([#1099](https://github.com/iamkun/dayjs/issues/1099)) ([b1a0294](https://github.com/iamkun/dayjs/commit/b1a02942c5238203aaa04ce9a074c73742324ab7)) |
|||
* update Breton [br] locale relativeTime config ([#1103](https://github.com/iamkun/dayjs/issues/1103)) ([b038bfd](https://github.com/iamkun/dayjs/commit/b038bfdb128889d677c95534d2be29cc30c9e72f)) |
|||
* update Catalan [ca] locale ordinal ([73da380](https://github.com/iamkun/dayjs/commit/73da38024c8b550bdcfbe3ff7e578e742c7aecf2)) |
|||
* update German [de] locale relativeTime config ([#1109](https://github.com/iamkun/dayjs/issues/1109)) ([f6e771b](https://github.com/iamkun/dayjs/commit/f6e771b70f93d19ebb12e6b794aa4628a1796248)) |
|||
* update localeData plugin to add longDateFormat to global localeData ([#1106](https://github.com/iamkun/dayjs/issues/1106)) ([16937d1](https://github.com/iamkun/dayjs/commit/16937d16e053b8c1d4a607622fa2fdbfd9809832)) |
|||
* Update objectSupport plugin to return current date time while parsing empty object ([f56783e](https://github.com/iamkun/dayjs/commit/f56783e14d8cf50916b015e7188b23bb6fbca839)) |
|||
|
|||
## [1.9.1](https://github.com/iamkun/dayjs/compare/v1.9.0...v1.9.1) (2020-09-28) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* Fix objectSupport plugin to get the correct result (zero-based month) ([#1089](https://github.com/iamkun/dayjs/issues/1089)) ([f95ac15](https://github.com/iamkun/dayjs/commit/f95ac15a4577ae5a3d1ce353872a2cd9fc454bc2)) |
|||
|
|||
# [1.9.0](https://github.com/iamkun/dayjs/compare/v1.8.36...v1.9.0) (2020-09-28) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* Add `setDefault` typing to timezone.d.ts ([#1057](https://github.com/iamkun/dayjs/issues/1057)) ([c0f0886](https://github.com/iamkun/dayjs/commit/c0f088620f17260e6e3ebce7697d561b5623f5f3)) |
|||
* fix DST bug in utc plugin ([#1053](https://github.com/iamkun/dayjs/issues/1053)) ([3d73543](https://github.com/iamkun/dayjs/commit/3d7354361f042ced1176d91f9ae9edffe6173425)) |
|||
* Fix optional type for timezone plugin ([#1081](https://github.com/iamkun/dayjs/issues/1081)) ([a6ebcf2](https://github.com/iamkun/dayjs/commit/a6ebcf283a83273562dce5663155e3b3a12ea9a5)), closes [#1079](https://github.com/iamkun/dayjs/issues/1079) |
|||
* Fix timezone plugin conversion bug ([#1073](https://github.com/iamkun/dayjs/issues/1073)) ([16816a3](https://github.com/iamkun/dayjs/commit/16816a31ff43220aca9d1d179df6b729182abb55)) |
|||
* update duration plugin type file ([#1065](https://github.com/iamkun/dayjs/issues/1065)) ([94af9af](https://github.com/iamkun/dayjs/commit/94af9af27c5bc182cbb24f1845e561dd1d82d776)) |
|||
* update timezone plugin to support getting offset name e.g. EST ([#1069](https://github.com/iamkun/dayjs/issues/1069)) ([cbb755e](https://github.com/iamkun/dayjs/commit/cbb755e5c68d49c5678291f3ce832b32831a056e)) |
|||
* update utc plugin to support keepLocalTime `.utc(true)` ([#1080](https://github.com/iamkun/dayjs/issues/1080)) ([5ce4e0d](https://github.com/iamkun/dayjs/commit/5ce4e0d2f552f3645262537ff7afdc946f5a7e72)) |
|||
|
|||
|
|||
### Features |
|||
|
|||
* Correct casing for en-sg locale name ([#1048](https://github.com/iamkun/dayjs/issues/1048)) ([2edaddc](https://github.com/iamkun/dayjs/commit/2edaddc22a7eb914f915531f389766217acd7034)) |
|||
|
|||
## [1.8.36](https://github.com/iamkun/dayjs/compare/v1.8.35...v1.8.36) (2020-09-17) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* Add Amharic (am) locale ([#1046](https://github.com/iamkun/dayjs/issues/1046)) ([cdc49a1](https://github.com/iamkun/dayjs/commit/cdc49a1911c74b7ea96ed222f42796d53715cfed)) |
|||
* Export Duration type in duration plugin ([#1043](https://github.com/iamkun/dayjs/issues/1043)) ([0f20c3a](https://github.com/iamkun/dayjs/commit/0f20c3ac75d9ac1026a15a7bb343d3a150d9b30f)) |
|||
* Fix duration plugin parsing milliseconds bug ([#1042](https://github.com/iamkun/dayjs/issues/1042)) ([fe2301b](https://github.com/iamkun/dayjs/commit/fe2301b22318886aaa89ed1620e0a118e98c2b8a)) |
|||
* Timezone plugin set default timezone ([#1033](https://github.com/iamkun/dayjs/issues/1033)) ([0c2050a](https://github.com/iamkun/dayjs/commit/0c2050a152da708b01edd6150a5013f642b14576)) |
|||
* Timezone plugin should have the same behavior in latest ICU version ([#1032](https://github.com/iamkun/dayjs/issues/1032)) ([de31592](https://github.com/iamkun/dayjs/commit/de315921575cc50c38464b27d0338e30a54d8e2a)) |
|||
* Update Finnish (fi) locale ([#963](https://github.com/iamkun/dayjs/issues/963)) ([cf8b6a0](https://github.com/iamkun/dayjs/commit/cf8b6a096f24b54cbdb95675ac386d8ac85ea616)) |
|||
* Update Polish (pl) , Hungarian (hr) and Lithuanian (lt) localization ([#1045](https://github.com/iamkun/dayjs/issues/1045)) ([638fd39](https://github.com/iamkun/dayjs/commit/638fd394fc24f4188390faf387da6b156e7c6320)) |
|||
|
|||
## [1.8.35](https://github.com/iamkun/dayjs/compare/v1.8.34...v1.8.35) (2020-09-02) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* Fix BadMutable plugin bug in .diff ([#1023](https://github.com/iamkun/dayjs/issues/1023)) ([40ab6d9](https://github.com/iamkun/dayjs/commit/40ab6d9a53e8047cfca63c611c25dd045372d021)) |
|||
* fix LocaleData plugin to support instance.weekdays() API ([#1019](https://github.com/iamkun/dayjs/issues/1019)) ([a09d259](https://github.com/iamkun/dayjs/commit/a09d259a407b81d1cb6bb5623fad551c775d8674)), closes [#1017](https://github.com/iamkun/dayjs/issues/1017) |
|||
* Update Dutch (nl) locale to set correct yearStart ([1533a2c](https://github.com/iamkun/dayjs/commit/1533a2cc1475270032da2d87b19fc3d62327e6e3)) |
|||
|
|||
## [1.8.34](https://github.com/iamkun/dayjs/compare/v1.8.33...v1.8.34) (2020-08-20) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* Fix Timezone plugin to preserve milliseconds while changing timezone ([#1003](https://github.com/iamkun/dayjs/issues/1003)) ([5f446ed](https://github.com/iamkun/dayjs/commit/5f446eda770fa97e895c81a8195b3ba5d082cef0)), closes [#1002](https://github.com/iamkun/dayjs/issues/1002) |
|||
* support parsing unlimited decimals of millisecond ([#1010](https://github.com/iamkun/dayjs/issues/1010)) ([d1bdd36](https://github.com/iamkun/dayjs/commit/d1bdd36a56e3d1786523a180e3fc18068f609135)), closes [#544](https://github.com/iamkun/dayjs/issues/544) |
|||
* update Duration plugin to support global locale ([#1008](https://github.com/iamkun/dayjs/issues/1008)) ([1c49c83](https://github.com/iamkun/dayjs/commit/1c49c83e79811eede13db6372b5d65db598aee77)), closes [#1007](https://github.com/iamkun/dayjs/issues/1007) |
|||
|
|||
## [1.8.33](https://github.com/iamkun/dayjs/compare/v1.8.32...v1.8.33) (2020-08-10) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* Add PluralGetSet plugin for plural getters/setters ([#996](https://github.com/iamkun/dayjs/issues/996)) ([f76e3ce](https://github.com/iamkun/dayjs/commit/f76e3ce2fbe5d3e9ed9121086baf55eb0cc4d355)) |
|||
* Add typescript type defs in esm build ([#985](https://github.com/iamkun/dayjs/issues/985)) ([50e3b3c](https://github.com/iamkun/dayjs/commit/50e3b3c6719cb0b4ec6eff394dacd63d5db8f253)) |
|||
* Fix isoWeek Plugin cal bug in UTC mode ([#993](https://github.com/iamkun/dayjs/issues/993)) ([f2e5f32](https://github.com/iamkun/dayjs/commit/f2e5f327aaf12b4572296ec6e107ecc05fcf76e7)) |
|||
* Fix Timezone plugin parsing js date, Day.js object, timestamp bug && update type file ([#994](https://github.com/iamkun/dayjs/issues/994)) ([22f3d49](https://github.com/iamkun/dayjs/commit/22f3d49405da98db6da56d1673eebcd01b57554b)), closes [#992](https://github.com/iamkun/dayjs/issues/992) [#989](https://github.com/iamkun/dayjs/issues/989) |
|||
* Fix Timezone plugin UTCOffset rounding bug ([#987](https://github.com/iamkun/dayjs/issues/987)) ([b07182b](https://github.com/iamkun/dayjs/commit/b07182bbdf5aef7f6bf1e88fcd38432e2b8ee465)), closes [#986](https://github.com/iamkun/dayjs/issues/986) |
|||
* Fix UTC plugin bug while comparing an utc instance to a local one ([#995](https://github.com/iamkun/dayjs/issues/995)) ([747c0fb](https://github.com/iamkun/dayjs/commit/747c0fb4eba6353755b5dad3417fd8d5a408c378)) |
|||
* Update pt-br locale weekStart 0 ([#984](https://github.com/iamkun/dayjs/issues/984)) ([0f881c1](https://github.com/iamkun/dayjs/commit/0f881c18efb02b9d0ba7f76cba92bb504226fa95)) |
|||
|
|||
## [1.8.32](https://github.com/iamkun/dayjs/compare/v1.8.31...v1.8.32) (2020-08-04) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* Add Experimental Timezone Plugin ([#974](https://github.com/iamkun/dayjs/issues/974)) ([e69caba](https://github.com/iamkun/dayjs/commit/e69caba1b0957241a855aa0ae38db899fa2c3795)) |
|||
* fix parse date string error e.g. '2020/9/30' ([#980](https://github.com/iamkun/dayjs/issues/980)) ([231790d](https://github.com/iamkun/dayjs/commit/231790da62af0494732960c2c50d86ae9bf63ec6)), closes [#979](https://github.com/iamkun/dayjs/issues/979) |
|||
* update monthDiff function to get more accurate results ([19e8a7f](https://github.com/iamkun/dayjs/commit/19e8a7f2f7582b717f49d446822e39603694433c)) |
|||
* Update UTC plugin to support keepLocalTime ([#973](https://github.com/iamkun/dayjs/issues/973)) ([9f488e5](https://github.com/iamkun/dayjs/commit/9f488e5aca92f0b4c2951459436829d79f86d8d7)) |
|||
|
|||
## [1.8.31](https://github.com/iamkun/dayjs/compare/v1.8.30...v1.8.31) (2020-07-29) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* Rollback LocalePresetType to string ([#968](https://github.com/iamkun/dayjs/issues/968)) ([b342bd3](https://github.com/iamkun/dayjs/commit/b342bd3d84987d6c7587a0c4590d614fb0e670d7)) |
|||
* Update Regex to parse 'YYYY' correctly ([#969](https://github.com/iamkun/dayjs/issues/969)) ([70c1239](https://github.com/iamkun/dayjs/commit/70c123990dcc6bd479fa2b5d7f9985127872a826)) |
|||
|
|||
## [1.8.30](https://github.com/iamkun/dayjs/compare/v1.8.29...v1.8.30) (2020-07-22) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* Add Haitian Creole (ht) and Spanish Puerto Rico (es-pr) locale configs ([#958](https://github.com/iamkun/dayjs/issues/958)) ([b2642e2](https://github.com/iamkun/dayjs/commit/b2642e2d1f87734a34808c66e5176cb18bc0414d)) |
|||
* Fix UTC plugin wrong hour bug while adding month or year ([#957](https://github.com/iamkun/dayjs/issues/957)) ([28ae070](https://github.com/iamkun/dayjs/commit/28ae070024ff26685c88ce4cc8747307e86923c9)) |
|||
* Update French (fr) locale to set correct yearStart ([14ab808](https://github.com/iamkun/dayjs/commit/14ab808a7b7e226f2eb2cbe894916a18ed5d967d)), closes [#956](https://github.com/iamkun/dayjs/issues/956) |
|||
|
|||
## [1.8.29](https://github.com/iamkun/dayjs/compare/v1.8.28...v1.8.29) (2020-07-02) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* Duration plugin supports parse ISO string with week (W) ([#950](https://github.com/iamkun/dayjs/issues/950)) ([f0fc12a](https://github.com/iamkun/dayjs/commit/f0fc12adadcab53fb0577ad8f5e2f1cf784fd8f5)) |
|||
* LocaleData plugin supports locale order ([#938](https://github.com/iamkun/dayjs/issues/938)) ([62f429d](https://github.com/iamkun/dayjs/commit/62f429db73a0a069b1267231dea172b85f4b90e3)), closes [#936](https://github.com/iamkun/dayjs/issues/936) |
|||
* Update type definition to support array format ([#945](https://github.com/iamkun/dayjs/issues/945)) ([81d4740](https://github.com/iamkun/dayjs/commit/81d4740511d47e34f891b21afeb0449ef8a28688)), closes [#944](https://github.com/iamkun/dayjs/issues/944) |
|||
* Update type definition to support strict mode ([#951](https://github.com/iamkun/dayjs/issues/951)) ([8d54f3f](https://github.com/iamkun/dayjs/commit/8d54f3f7d4d161e72c767fa09699e70a2b3d681c)) |
|||
|
|||
## [1.8.28](https://github.com/iamkun/dayjs/compare/v1.8.27...v1.8.28) (2020-05-28) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* Fix CustomParseFormat plugin month index error ([#918](https://github.com/iamkun/dayjs/issues/918)) ([fa2ec7f](https://github.com/iamkun/dayjs/commit/fa2ec7fcb980dcd2c7498dafe2f9ca2e52d735cf)), closes [#915](https://github.com/iamkun/dayjs/issues/915) |
|||
* Update Ukrainian (uk) locale monthFormat and monthStandalone ([#899](https://github.com/iamkun/dayjs/issues/899)) ([a08756e](https://github.com/iamkun/dayjs/commit/a08756e80bd1d7126fca28c5ad9e382613fc86c4)) |
|||
|
|||
## [1.8.27](https://github.com/iamkun/dayjs/compare/v1.8.26...v1.8.27) (2020-05-14) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* Add Kinyarwanda (rw) locale ([#903](https://github.com/iamkun/dayjs/issues/903)) ([f355235](https://github.com/iamkun/dayjs/commit/f355235a836540d77880959fb1b614c87e9f7b3e)) |
|||
* Add plugin objectSupport ([#887](https://github.com/iamkun/dayjs/issues/887)) ([52dfb13](https://github.com/iamkun/dayjs/commit/52dfb13a6b84f0a753cc5761192b92416f440961)) |
|||
* Add Turkmen (tk) locale ([#893](https://github.com/iamkun/dayjs/issues/893)) ([a9ca8dc](https://github.com/iamkun/dayjs/commit/a9ca8dcbbd0964c5b9abb4e8a2d620c983cf091a)) |
|||
* Fix CustomParseFormat plugin set locale error ([#896](https://github.com/iamkun/dayjs/issues/896)) ([8035c8a](https://github.com/iamkun/dayjs/commit/8035c8a760549b631252252718db3cdc4ab2f68f)) |
|||
* Fix locale month function bug ([#908](https://github.com/iamkun/dayjs/issues/908)) ([bf347c3](https://github.com/iamkun/dayjs/commit/bf347c36e401f50727fb5afcc537497b54b90d6b)) |
|||
* Update CustomParseFormat plugin to support Array formats ([#906](https://github.com/iamkun/dayjs/issues/906)) ([97856c6](https://github.com/iamkun/dayjs/commit/97856c603ef5fbbeb1cf8a42387479e56a77dbe8)) |
|||
|
|||
## [1.8.26](https://github.com/iamkun/dayjs/compare/v1.8.25...v1.8.26) (2020-04-30) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* Fix Duration plugin `.toISOString` format bug ([#889](https://github.com/iamkun/dayjs/issues/889)) ([058d624](https://github.com/iamkun/dayjs/commit/058d624808fd2be024ae846bcb2e03885f39b556)), closes [#888](https://github.com/iamkun/dayjs/issues/888) |
|||
* Fix WeekOfYear plugin bug while using BadMutable plugin ([#884](https://github.com/iamkun/dayjs/issues/884)) ([2977438](https://github.com/iamkun/dayjs/commit/2977438458542573a4500e21f7ba5d1f8442960e)) |
|||
* Update CustomParseFormat plugin strict mode ([#882](https://github.com/iamkun/dayjs/issues/882)) ([db642ac](https://github.com/iamkun/dayjs/commit/db642ac73e52e00d8c41546b2935c9e691cf66e0)) |
|||
* Update RelativeTime plugin default config ([#883](https://github.com/iamkun/dayjs/issues/883)) ([0606f42](https://github.com/iamkun/dayjs/commit/0606f425aef8ccbfc3da3e43cba368130603b0cc)) |
|||
|
|||
## [1.8.25](https://github.com/iamkun/dayjs/compare/v1.8.24...v1.8.25) (2020-04-21) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* Fix CustomParseFormat plugin of parsing only YYYY / YYYY-MM bug ([#873](https://github.com/iamkun/dayjs/issues/873)) ([3cea04d](https://github.com/iamkun/dayjs/commit/3cea04d33d54d44bbdd3d026b5c7f67ebf176116)), closes [#849](https://github.com/iamkun/dayjs/issues/849) |
|||
* Fix Duration plugin get seconds ([#867](https://github.com/iamkun/dayjs/issues/867)) ([62b092d](https://github.com/iamkun/dayjs/commit/62b092d9f9a3db5506ef01f798bdf211f163f53f)) |
|||
* Fix type definition of locale ([9790b85](https://github.com/iamkun/dayjs/commit/9790b853e6113243a7f4a81dd12c6509e406a102)) |
|||
* Fix UTC plugin startOf, endOf bug ([#872](https://github.com/iamkun/dayjs/issues/872)) ([4141084](https://github.com/iamkun/dayjs/commit/4141084ba96d35cadcda3f1e661bf1d0f6c8e4de)), closes [#809](https://github.com/iamkun/dayjs/issues/809) [#808](https://github.com/iamkun/dayjs/issues/808) |
|||
|
|||
## [1.8.24](https://github.com/iamkun/dayjs/compare/v1.8.23...v1.8.24) (2020-04-10) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* Add config option to RelativeTime plugin ([#851](https://github.com/iamkun/dayjs/issues/851)) ([bd24034](https://github.com/iamkun/dayjs/commit/bd24034b95bfc656024b75ef3f3c986708845fed)) |
|||
* add Duration plugin ([#858](https://github.com/iamkun/dayjs/issues/858)) ([d568273](https://github.com/iamkun/dayjs/commit/d568273223199ca0497f238e2cc3a8d3dcf32d0f)) |
|||
* Add en-in, en-tt locales ([#855](https://github.com/iamkun/dayjs/issues/855)) ([c39fb96](https://github.com/iamkun/dayjs/commit/c39fb96e2a9102c14b004c14a6c073af9d266f2f)) |
|||
* add isToday, isTomorrow, isYesterday plugins ([#857](https://github.com/iamkun/dayjs/issues/857)) ([fc08ab6](https://github.com/iamkun/dayjs/commit/fc08ab68f8a28269802deeab9d6b0473b92cdc51)) |
|||
* Add option callback to Calendar plugin ([#839](https://github.com/iamkun/dayjs/issues/839)) ([b25be90](https://github.com/iamkun/dayjs/commit/b25be9094325295310c8fc5e617fb058be8a5f68)) |
|||
* Fix monthsShort for locale fr ([#862](https://github.com/iamkun/dayjs/issues/862)) ([d2de9a0](https://github.com/iamkun/dayjs/commit/d2de9a0b44b830038ed0094f79bfd40726311f2a)) |
|||
* Update Breton locale (br) meridiem config ([#856](https://github.com/iamkun/dayjs/issues/856)) ([a2a6672](https://github.com/iamkun/dayjs/commit/a2a66720abb788a8f1cffbfd0929b35579f29c72)) |
|||
* Update Ukrainian (uk) locale relative time ([#842](https://github.com/iamkun/dayjs/issues/842)) ([578bc1a](https://github.com/iamkun/dayjs/commit/578bc1a23c6e737783bbac3da12c0ed5d1edcf82)) |
|||
|
|||
## [1.8.23](https://github.com/iamkun/dayjs/compare/v1.8.22...v1.8.23) (2020-03-16) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* Add Chinese (zh) locale ([f9b8945](https://github.com/iamkun/dayjs/commit/f9b89453166d8b53d33b1d7eefd9942022552e6e)) |
|||
* Fix IsoWeek plugin typescript definition ([#828](https://github.com/iamkun/dayjs/issues/828)) ([30aab0c](https://github.com/iamkun/dayjs/commit/30aab0c7bce85dfac0ae208a891def30f88b5cb4)) |
|||
* Update Arabic (ar) locale relative time ([#836](https://github.com/iamkun/dayjs/issues/836)) ([14044c6](https://github.com/iamkun/dayjs/commit/14044c6fda1229e3f0e5473d3f886bd79589b15f)) |
|||
* Update Slovak (sk) locale, Czech (cs) locale ([#833](https://github.com/iamkun/dayjs/issues/833)) ([f0d451f](https://github.com/iamkun/dayjs/commit/f0d451f795e9ebf752cd854d51b25b11de2343a3)) |
|||
* Update Thai (th) locale relativeTime ([#826](https://github.com/iamkun/dayjs/issues/826)) ([63b7c03](https://github.com/iamkun/dayjs/commit/63b7c03a6dbb0507d60776e8bad6cccde3828b88)), closes [#816](https://github.com/iamkun/dayjs/issues/816) |
|||
|
|||
## [1.8.22](https://github.com/iamkun/dayjs/compare/v1.8.21...v1.8.22) (2020-03-08) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* Add IsoWeek plugin ([#811](https://github.com/iamkun/dayjs/issues/811)) ([28a2207](https://github.com/iamkun/dayjs/commit/28a2207ef9849afbac15dd29267b2e7a09cd3c16)) |
|||
* Fix unsupported locale fallback to previous one ([#819](https://github.com/iamkun/dayjs/issues/819)) ([4868715](https://github.com/iamkun/dayjs/commit/48687152cf5bee6a4c1b8ceea4bda8b9bab9be10)) |
|||
|
|||
## [1.8.21](https://github.com/iamkun/dayjs/compare/v1.8.20...v1.8.21) (2020-02-26) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* Set + Get accept 'D' as the short version of 'date' ([#795](https://github.com/iamkun/dayjs/issues/795)) ([523c038](https://github.com/iamkun/dayjs/commit/523c03880fa8bbad83214494ad02cd606cdb8b30)) |
|||
* Update DayOfYear plugin type ([#799](https://github.com/iamkun/dayjs/issues/799)) ([5809652](https://github.com/iamkun/dayjs/commit/5809652e40245b7759827d9bf317abdcfa75a330)) |
|||
* Update fi (Finnish) locale relativeTime ([#797](https://github.com/iamkun/dayjs/issues/797)) ([4a470fb](https://github.com/iamkun/dayjs/commit/4a470fbd6fef9e051727d0f26d53cc050b85935d)) |
|||
|
|||
## [1.8.20](https://github.com/iamkun/dayjs/compare/v1.8.19...v1.8.20) (2020-02-04) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* Add Bislama Locale (bi) ([#780](https://github.com/iamkun/dayjs/issues/780)) ([9ac6ab4](https://github.com/iamkun/dayjs/commit/9ac6ab481bc883dd4ecc02caab12c8b2fc218a42)) |
|||
* Fix weekOfYear plugin to support yearStart locale for better week number result ([#769](https://github.com/iamkun/dayjs/issues/769)) ([f00db36](https://github.com/iamkun/dayjs/commit/f00db36e70bc7beaca1abadeb30a9b1fbb3261ee)) |
|||
* Update et (Estonian) locale relativeTime ([#790](https://github.com/iamkun/dayjs/issues/790)) ([d8e0f45](https://github.com/iamkun/dayjs/commit/d8e0f45f6cd2d5e5704b9797929227454c92d1a5)) |
|||
* Update LocaleData plugin to support dayjs.localeData().weekdays() API ([287fed6](https://github.com/iamkun/dayjs/commit/287fed6db9eb4fd979b4861aca4dacbd32422533)), closes [#779](https://github.com/iamkun/dayjs/issues/779) |
|||
* Update LocaleData plugin to support dayjs.months dayjs.weekdays API ([144c2ae](https://github.com/iamkun/dayjs/commit/144c2ae6e15fbf89e3acd7c8cb9e237c5f6e1348)), closes [#779](https://github.com/iamkun/dayjs/issues/779) |
|||
* Update pl locale fusional config ([d372475](https://github.com/iamkun/dayjs/commit/d3724758bb27d5b17587b995ba14e7e80dcd1151)) |
|||
|
|||
## [1.8.19](https://github.com/iamkun/dayjs/compare/v1.8.18...v1.8.19) (2020-01-06) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* Add UpdateLocale plugin to update a locale's properties ([#766](https://github.com/iamkun/dayjs/issues/766)) ([82ce2ba](https://github.com/iamkun/dayjs/commit/82ce2ba8d7e402e40f6d005d400eb5356a0b0633)) |
|||
* Fix CustomParseFormat Plugin 'YYYY-MM' use first day of the month ([ba709ec](https://github.com/iamkun/dayjs/commit/ba709eca86a71ae648bc68bf67d9abdc229198d4)), closes [#761](https://github.com/iamkun/dayjs/issues/761) |
|||
* Fix CustomParseFormat Plugin to set correct locale ([66ce23f](https://github.com/iamkun/dayjs/commit/66ce23f2e18c5506e8f1a7ef20d3483a4df80087)) |
|||
* Fix WeekOfYear Plugin wrong calender week number bug ([79b86db](https://github.com/iamkun/dayjs/commit/79b86dbbf3cfd3f1e2165b3d479a7061ad1b6925)), closes [#760](https://github.com/iamkun/dayjs/issues/760) |
|||
* Update RelativeTime plugin to support function to make additional processing ([#767](https://github.com/iamkun/dayjs/issues/767)) ([4bd9250](https://github.com/iamkun/dayjs/commit/4bd9250fbe7131e2fddfb5fa1b3350e8c2262ca9)) |
|||
* Update ru, uk, cs locale to support relativeTime with plural ([3f080f7](https://github.com/iamkun/dayjs/commit/3f080f7d6bfdc4018cbb7c4d0112ff1ead4ef6b8)) |
|||
|
|||
## [1.8.18](https://github.com/iamkun/dayjs/compare/v1.8.17...v1.8.18) (2019-12-18) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* Add missing locale type definition ([#716](https://github.com/iamkun/dayjs/issues/716)) ([cde5d0b](https://github.com/iamkun/dayjs/commit/cde5d0b91be7b2f5f3098de4aa0b9a4f0f28ea5c)) |
|||
* Fix .locale() handel unsupported locale ([78ec173](https://github.com/iamkun/dayjs/commit/78ec173fcecc1299516ab7b44f4554d431b4b2fd)) |
|||
* Update Italian locale (it) ([#727](https://github.com/iamkun/dayjs/issues/727)) ([5b53e98](https://github.com/iamkun/dayjs/commit/5b53e98c0a3ba0eb9573a9c77caeb907439be9e7)) |
|||
* Update locale (fa) ([#733](https://github.com/iamkun/dayjs/issues/733)) ([9ad2e47](https://github.com/iamkun/dayjs/commit/9ad2e47e0569b23991bb0d5578f49c792c12df08)) |
|||
* Update locale (zh-cn) ([#706](https://github.com/iamkun/dayjs/issues/706)) ([e31e544](https://github.com/iamkun/dayjs/commit/e31e54414fb90e1f54da13a117748ba37f52645d)) |
|||
* Update locale (zh-cn) meridiem ([#735](https://github.com/iamkun/dayjs/issues/735)) ([15d1b81](https://github.com/iamkun/dayjs/commit/15d1b813e7faf5a1f9d1ea6fc673fd27ac49d8b1)) |
|||
* Update LocaleData plugin to support dayjs().longDateFormat() ([#734](https://github.com/iamkun/dayjs/issues/734)) ([aa0f210](https://github.com/iamkun/dayjs/commit/aa0f210a1e3c4f6aba61c3b96f9eb445b43a33f0)), closes [#680](https://github.com/iamkun/dayjs/issues/680) |
|||
* Update Mongolian (mn) locale relativeTime ([#753](https://github.com/iamkun/dayjs/issues/753)) ([6d51435](https://github.com/iamkun/dayjs/commit/6d51435092c0c94d8e50256d3f0f058cdd15febe)) |
|||
* Update Swedish locale (sv) fix ordinal error ([#745](https://github.com/iamkun/dayjs/issues/745)) ([49670d5](https://github.com/iamkun/dayjs/commit/49670d5ae31e4e21636cc5a8bfe35fef0f6d9e4a)), closes [#743](https://github.com/iamkun/dayjs/issues/743) |
|||
|
|||
## [1.8.17](https://github.com/iamkun/dayjs/compare/v1.8.16...v1.8.17) (2019-11-06) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* Fix set utcOffset in utc mode ([d148115](https://github.com/iamkun/dayjs/commit/d148115dad8f1a5afc0a64e9b8163dfeba4616b6)) |
|||
* Update advancedFormat plugin to support w ww wo week tokens … ([#678](https://github.com/iamkun/dayjs/issues/678)) ([26cfa63](https://github.com/iamkun/dayjs/commit/26cfa63a524b803f7966dac5464f9cbf8f63387e)), closes [#676](https://github.com/iamkun/dayjs/issues/676) |
|||
* Update ka locale weekdays ([f8ca3d4](https://github.com/iamkun/dayjs/commit/f8ca3d4ba1d3cbe41613d3909c0627935a51a0c4)) |
|||
* Update nb locale ([#679](https://github.com/iamkun/dayjs/issues/679)) ([1063b0e](https://github.com/iamkun/dayjs/commit/1063b0e1b5c19a1354d233cc0f21438e7073233a)) |
|||
* Update Polish locale (pl)([#713](https://github.com/iamkun/dayjs/issues/713)) ([30d2f02](https://github.com/iamkun/dayjs/commit/30d2f026b47188833a4f44fee4bab52467d4a718)) |
|||
* Update Ukrainian locale (uk) ([#710](https://github.com/iamkun/dayjs/issues/710)) ([360161c](https://github.com/iamkun/dayjs/commit/360161cac75f597fdd51d9d1ff138601282a1b4b)) |
|||
* UTC plugin set utcOffset value ([#668](https://github.com/iamkun/dayjs/issues/668)) ([8877883](https://github.com/iamkun/dayjs/commit/88778838e71dd309e79cd1a8094d5bea36ca3390)) |
|||
|
|||
## [1.8.16](https://github.com/iamkun/dayjs/compare/v1.8.15...v1.8.16) (2019-08-27) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* Fix relativeTime Plugin .FromNow() result error in UTC mode ([a385d5c](https://github.com/iamkun/dayjs/commit/a385d5c)) |
|||
* Handle locale in WeekOfYear plugin ([#658](https://github.com/iamkun/dayjs/issues/658)) ([0e45b0a](https://github.com/iamkun/dayjs/commit/0e45b0a)) |
|||
* LocaleData plugin returns all months and weekdays data when pas no argument ([#645](https://github.com/iamkun/dayjs/issues/645)) ([95e70b4](https://github.com/iamkun/dayjs/commit/95e70b4)) |
|||
* Return null in toJSON if not valid ([#633](https://github.com/iamkun/dayjs/issues/633)) ([19affc8](https://github.com/iamkun/dayjs/commit/19affc8)) |
|||
* Update Danish (da) locale ([#626](https://github.com/iamkun/dayjs/issues/626)) ([ac2ec77](https://github.com/iamkun/dayjs/commit/ac2ec77)) |
|||
* Update Korean locale meridiem ([#642](https://github.com/iamkun/dayjs/issues/642)) ([b457146](https://github.com/iamkun/dayjs/commit/b457146)) |
|||
* update Occitan locale Catalan locale ([#630](https://github.com/iamkun/dayjs/issues/630)) ([fef135e](https://github.com/iamkun/dayjs/commit/fef135e)) |
|||
* update pt-br locale ([#628](https://github.com/iamkun/dayjs/issues/628)) ([ccf596d](https://github.com/iamkun/dayjs/commit/ccf596d)) |
|||
* Update weekdaysShort to some locale files ([#643](https://github.com/iamkun/dayjs/issues/643)) ([cc1f15f](https://github.com/iamkun/dayjs/commit/cc1f15f)) |
|||
|
|||
## [1.8.15](https://github.com/iamkun/dayjs/compare/v1.8.14...v1.8.15) (2019-07-08) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* Fix dayjs.locale() returns current global locale ([#602](https://github.com/iamkun/dayjs/issues/602)) ([790cd1a](https://github.com/iamkun/dayjs/commit/790cd1a)) |
|||
* Fix incorrect Thai locale translation of July ([#607](https://github.com/iamkun/dayjs/issues/607)) ([43cbfd3](https://github.com/iamkun/dayjs/commit/43cbfd3)) |
|||
* Lowercase french locale months and weekdays ([#615](https://github.com/iamkun/dayjs/issues/615)) ([e5a257c](https://github.com/iamkun/dayjs/commit/e5a257c)) |
|||
* Type - Export Ls object to query all available locales ([#623](https://github.com/iamkun/dayjs/issues/623)) ([f6bfae0](https://github.com/iamkun/dayjs/commit/f6bfae0)) |
|||
* Update nb (Norsk Bokmål) locale ([#604](https://github.com/iamkun/dayjs/issues/604)) ([907f5c9](https://github.com/iamkun/dayjs/commit/907f5c9)) |
|||
* Update types of `.diff` API ([#617](https://github.com/iamkun/dayjs/issues/617)) ([f0f43d2](https://github.com/iamkun/dayjs/commit/f0f43d2)) |
|||
|
|||
## [1.8.14](https://github.com/iamkun/dayjs/compare/v1.8.13...v1.8.14) (2019-05-07) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* Fix `.format` API returns UTC offset when value is 0 bug ([b254964](https://github.com/iamkun/dayjs/commit/b254964)) |
|||
* Fix QuarterOfYear plugin bug ([#591](https://github.com/iamkun/dayjs/issues/591)) ([434f774](https://github.com/iamkun/dayjs/commit/434f774)) |
|||
* Fix UTC plugin add day DST bug ([#590](https://github.com/iamkun/dayjs/issues/590)) ([86cd839](https://github.com/iamkun/dayjs/commit/86cd839)) |
|||
|
|||
## [1.8.13](https://github.com/iamkun/dayjs/compare/v1.8.12...v1.8.13) (2019-04-26) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* Add missing relativeTime and formats for some locales ([#560](https://github.com/iamkun/dayjs/issues/560)) ([96b917e](https://github.com/iamkun/dayjs/commit/96b917e)) |
|||
* Add weekday (locale aware day of the week) plugin ([#569](https://github.com/iamkun/dayjs/issues/569)) ([9007cc5](https://github.com/iamkun/dayjs/commit/9007cc5)), closes [#559](https://github.com/iamkun/dayjs/issues/559) |
|||
* Allow customizing "am" / "pm" strings with locale meridiem function ([#580](https://github.com/iamkun/dayjs/issues/580)) ([576e93e](https://github.com/iamkun/dayjs/commit/576e93e)), closes [#578](https://github.com/iamkun/dayjs/issues/578) |
|||
* Fix `.add` day/week decimal rouding bug ([800f6c9](https://github.com/iamkun/dayjs/commit/800f6c9)) |
|||
* Fix `.diff` type definition error ([#565](https://github.com/iamkun/dayjs/issues/565)) ([c4921ae](https://github.com/iamkun/dayjs/commit/c4921ae)), closes [#561](https://github.com/iamkun/dayjs/issues/561) |
|||
* Fix CustomParseFormat plugin bug ([#568](https://github.com/iamkun/dayjs/issues/568)) ([1f5a9db](https://github.com/iamkun/dayjs/commit/1f5a9db)), closes [#555](https://github.com/iamkun/dayjs/issues/555) |
|||
* Fix relativeTime plugin Math.round bug ([40bea40](https://github.com/iamkun/dayjs/commit/40bea40)) |
|||
* skip square brackets in buddhistEra, advancedFormat plugins ([#556](https://github.com/iamkun/dayjs/issues/556)) ([9279718](https://github.com/iamkun/dayjs/commit/9279718)), closes [#554](https://github.com/iamkun/dayjs/issues/554) |
|||
* Update Indonesian locale([#574](https://github.com/iamkun/dayjs/issues/574)) ([0aa7143](https://github.com/iamkun/dayjs/commit/0aa7143)) |
|||
* Update locale month to support both array and function ([#581](https://github.com/iamkun/dayjs/issues/581)) ([b6599d3](https://github.com/iamkun/dayjs/commit/b6599d3)) |
|||
* Update LocalizedFormat plugin lowercase formats logic ([#557](https://github.com/iamkun/dayjs/issues/557)) ([d409304](https://github.com/iamkun/dayjs/commit/d409304)) |
|||
|
|||
## [1.8.12](https://github.com/iamkun/dayjs/compare/v1.8.11...v1.8.12) (2019-04-02) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* Add .get API ([7318797](https://github.com/iamkun/dayjs/commit/7318797)) |
|||
* Add 79 locales ([#541](https://github.com/iamkun/dayjs/issues/541)) ([f75a125](https://github.com/iamkun/dayjs/commit/f75a125)) |
|||
* Add Calendar plugin ([d1b9cf9](https://github.com/iamkun/dayjs/commit/d1b9cf9)) |
|||
* Add isoWeeksInYear plugin ([2db8631](https://github.com/iamkun/dayjs/commit/2db8631)) |
|||
* Add Occitan (oc-lnc) locale file ([#551](https://github.com/iamkun/dayjs/issues/551)) ([c30b715](https://github.com/iamkun/dayjs/commit/c30b715)) |
|||
* Add plugin minMax to sopport .max .min ([2870a23](https://github.com/iamkun/dayjs/commit/2870a23)) |
|||
* Fix set Month Year error in last day of the month ([d058f4a](https://github.com/iamkun/dayjs/commit/d058f4a)) |
|||
* Update ko locale weekdaysShort ([#543](https://github.com/iamkun/dayjs/issues/543)) ([317fd3e](https://github.com/iamkun/dayjs/commit/317fd3e)) |
|||
* Update localizedFormat plugin to support lowercase localizable formats (l, ll, lll, llll) ([#546](https://github.com/iamkun/dayjs/issues/546)) ([f2b5ebf](https://github.com/iamkun/dayjs/commit/f2b5ebf)) |
|||
|
|||
## [1.8.11](https://github.com/iamkun/dayjs/compare/v1.8.10...v1.8.11) (2019-03-21) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* Add .add('quarter') .startOf('quarter') through plugin quarterOfYear ([dde39e9](https://github.com/iamkun/dayjs/commit/dde39e9)), closes [#537](https://github.com/iamkun/dayjs/issues/537) [#531](https://github.com/iamkun/dayjs/issues/531) |
|||
* Add locale support for Azerbaijani language (az) ([#535](https://github.com/iamkun/dayjs/issues/535)) ([eeb20fa](https://github.com/iamkun/dayjs/commit/eeb20fa)) |
|||
* Correct typescript definition `add` ([22a249c](https://github.com/iamkun/dayjs/commit/22a249c)), closes [#531](https://github.com/iamkun/dayjs/issues/531) |
|||
* Fix CustomParseFormat plugin formatting bug ([#536](https://github.com/iamkun/dayjs/issues/536)) ([8578546](https://github.com/iamkun/dayjs/commit/8578546)), closes [#533](https://github.com/iamkun/dayjs/issues/533) |
|||
* Update pt locale ([#538](https://github.com/iamkun/dayjs/issues/538)) ([1ac9e1e](https://github.com/iamkun/dayjs/commit/1ac9e1e)) |
|||
|
|||
## [1.8.10](https://github.com/iamkun/dayjs/compare/v1.8.9...v1.8.10) (2019-03-10) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* **locale:** Add nepali (ne) locale ([#524](https://github.com/iamkun/dayjs/issues/524)) ([bdbec01](https://github.com/iamkun/dayjs/commit/bdbec01)) |
|||
* Add WeekYear plugin ([a892608](https://github.com/iamkun/dayjs/commit/a892608)) |
|||
* API .locale() with no argument should return current locale name string ([8d63d88](https://github.com/iamkun/dayjs/commit/8d63d88)) |
|||
* CustomParseFormat correct parse HH:mm:ss with only one digit like 0:12:10 ([600d547](https://github.com/iamkun/dayjs/commit/600d547)) |
|||
* CustomParseFormat plugin parse Do format string ([bf27fda](https://github.com/iamkun/dayjs/commit/bf27fda)), closes [#522](https://github.com/iamkun/dayjs/issues/522) |
|||
* Expand setters like .year(2000) .hour(12) ([ac532a0](https://github.com/iamkun/dayjs/commit/ac532a0)) |
|||
* Move toObject, toArray API to separate plugin from core ([40a3431](https://github.com/iamkun/dayjs/commit/40a3431)) |
|||
|
|||
## [1.8.9](https://github.com/iamkun/dayjs/compare/v1.8.8...v1.8.9) (2019-03-06) |
|||
|
|||
|
|||
### Features |
|||
|
|||
* Add UTC mode with UTC plugin ([#517](https://github.com/iamkun/dayjs/issues/517)) ([caf335c](https://github.com/iamkun/dayjs/commit/caf335c)) |
|||
|
|||
> For plugin developers: Please note, we have changed the name of some method in `Utils` in order to reduce the file size. ([#517](https://github.com/iamkun/dayjs/issues/517)) ([detail](https://github.com/iamkun/dayjs/pull/517/files#diff-2b4ca49d4bb0a774c4d4c1672d7aa781R46)) |
|||
|
|||
### Bug Fixes |
|||
|
|||
* Add locale de-AT ([#515](https://github.com/iamkun/dayjs/issues/515)) ([d93f7b6](https://github.com/iamkun/dayjs/commit/d93f7b6)) |
|||
* Add locale zh-hk ([#516](https://github.com/iamkun/dayjs/issues/516)) ([5fc05a6](https://github.com/iamkun/dayjs/commit/5fc05a6)) |
|||
|
|||
## [1.8.8](https://github.com/iamkun/dayjs/compare/v1.8.7...v1.8.8) (2019-02-25) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* Update relativeTime plugin type definition ([de56f2c](https://github.com/iamkun/dayjs/commit/de56f2c)) |
|||
|
|||
## [1.8.7](https://github.com/iamkun/dayjs/compare/v1.8.6...v1.8.7) (2019-02-24) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* Add plugin type definitions ([#418](https://github.com/iamkun/dayjs/issues/418)) ([361d437](https://github.com/iamkun/dayjs/commit/361d437)) |
|||
* Add Swahili locale ([#508](https://github.com/iamkun/dayjs/issues/508)) ([b9cee84](https://github.com/iamkun/dayjs/commit/b9cee84)) |
|||
* Parse month string 'MMMM MMM (February, Feb)' in customParseFormat ([#457](https://github.com/iamkun/dayjs/issues/457)) ([f343206](https://github.com/iamkun/dayjs/commit/f343206)) |
|||
* Update declaration file .diff .isBefore .isSame .isAfter ([#496](https://github.com/iamkun/dayjs/issues/496)) ([4523275](https://github.com/iamkun/dayjs/commit/4523275)) |
|||
* Word orders corrections for locale 'fa' ([#491](https://github.com/iamkun/dayjs/issues/491)) ([56050c2](https://github.com/iamkun/dayjs/commit/56050c2)) |
|||
|
|||
## [1.8.6](https://github.com/iamkun/dayjs/compare/v1.8.5...v1.8.6) (2019-02-14) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* Add Bahasa Melayu (Malaysia) locale ([#485](https://github.com/iamkun/dayjs/issues/485)) ([cb208b0](https://github.com/iamkun/dayjs/commit/cb208b0)) |
|||
* Copy & export built-in en locale to /locale folder as a separate file ([a7e05e0](https://github.com/iamkun/dayjs/commit/a7e05e0)) |
|||
* Fix bug in customParseFormat plugin while month(MM) is '01' ([9884ca5](https://github.com/iamkun/dayjs/commit/9884ca5)), closes [#494](https://github.com/iamkun/dayjs/issues/494) |
|||
* Fix startOf week bug while week start is not Sunday ([5eaf77b](https://github.com/iamkun/dayjs/commit/5eaf77b)) |
|||
* Implemented isBetween inclusivity ([#464](https://github.com/iamkun/dayjs/issues/464)) ([af2f4f1](https://github.com/iamkun/dayjs/commit/af2f4f1)) |
|||
* Update Swedish and Finnish locales ([#488](https://github.com/iamkun/dayjs/issues/488)) ([f142082](https://github.com/iamkun/dayjs/commit/f142082)) |
|||
* Fix commonJS require ES Module bug in webpack4 ([23f9f3d](https://github.com/iamkun/dayjs/commit/23f9f3d)), check [#492](https://github.com/iamkun/dayjs/issues/492) |
|||
|
|||
> Get access to ESM code with `import dayjs from 'dayjs/esm'` |
|||
|
|||
## [1.8.5](https://github.com/iamkun/dayjs/compare/v1.8.4...v1.8.5) (2019-02-07) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* Add en-gb locale ([#478](https://github.com/iamkun/dayjs/issues/478)) ([508c3a7](https://github.com/iamkun/dayjs/commit/508c3a7)) |
|||
* **module:** transpile everything except ES6 modules in the 'module' entrypoint ([#477](https://github.com/iamkun/dayjs/issues/477)) ([#480](https://github.com/iamkun/dayjs/issues/480)) ([#482](https://github.com/iamkun/dayjs/issues/482)) ([767017d](https://github.com/iamkun/dayjs/commit/767017d)) |
|||
* update customParseFormat plugin support hh:mm ([54947cc](https://github.com/iamkun/dayjs/commit/54947cc)), closes [#484](https://github.com/iamkun/dayjs/issues/484) |
|||
* Update module in package.json ([5c5a7a0](https://github.com/iamkun/dayjs/commit/5c5a7a0)) |
|||
|
|||
## [1.8.4](https://github.com/iamkun/dayjs/compare/v1.8.3...v1.8.4) (2019-02-05) |
|||
|
|||
* Allow set start day of week in locale && Allow set week in weekOfYear plugin ([1295591](https://github.com/iamkun/dayjs/commit/1295591)) |
|||
### Bug Fixes |
|||
* update all locale files with correct week start ([5b03412](https://github.com/iamkun/dayjs/commit/5b03412)) |
|||
* update es es-do locale adding weekStart && update weekStart test ([66e42ec](https://github.com/iamkun/dayjs/commit/66e42ec)) |
|||
* Revert default export ([b00da1b](https://github.com/iamkun/dayjs/commit/b00da1b)) |
|||
|
|||
## [1.8.3](https://github.com/iamkun/dayjs/compare/v1.8.2...v1.8.3) (2019-02-04) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* fix ios safari YYYY-MM-DD HH:mm parse BUG ([e02ae82](https://github.com/iamkun/dayjs/commit/e02ae82)), closes [#254](https://github.com/iamkun/dayjs/issues/254) |
|||
|
|||
## [1.8.2](https://github.com/iamkun/dayjs/compare/v1.8.1...v1.8.2) (2019-02-02) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* Add missing czech language locale ([#461](https://github.com/iamkun/dayjs/issues/461)) ([7e04004](https://github.com/iamkun/dayjs/commit/7e04004)) |
|||
* Add utcOffset api method and fix calculating diff error in DST ([#453](https://github.com/iamkun/dayjs/issues/453)) ([ce2e30e](https://github.com/iamkun/dayjs/commit/ce2e30e)) |
|||
* Fix it locale error ([#458](https://github.com/iamkun/dayjs/issues/458)) ([f6d9a64](https://github.com/iamkun/dayjs/commit/f6d9a64)) |
|||
* Add DayOfYear plugin (#454) |
|||
* Fix es locale monthsShort error |
|||
|
|||
## [1.8.1](https://github.com/iamkun/dayjs/compare/v1.8.0...v1.8.1) (2019-02-02) |
|||
|
|||
* Add LocalizedFormat plugin supplying format like LTS, LT, LLLL |
|||
|
|||
* <del>update declaration File with default export (#278)</del> |
|||
> <del>From v1.8.1, in TypeScript Project, just `import from dayjs from 'dayjs'`</del> |
|||
* add ES2015 module support (#451) |
|||
|
|||
### Performance Improvements |
|||
|
|||
* **format:** reuse matches instead of created when replacing ([#441](https://github.com/iamkun/dayjs/issues/441)) ([10b79d8](https://github.com/iamkun/dayjs/commit/10b79d8)) |
|||
|
|||
# [1.8.0](https://github.com/iamkun/dayjs/compare/v1.7.8...v1.8.0) (2019-01-14) |
|||
|
|||
|
|||
### Features |
|||
|
|||
* add CustomParseFormat plugin and QuarterOfYear plugin ([#450](https://github.com/iamkun/dayjs/issues/450)) ([8f6f63c](https://github.com/iamkun/dayjs/commit/8f6f63c)) |
|||
|
|||
## [1.7.8](https://github.com/iamkun/dayjs/compare/v1.7.7...v1.7.8) (2018-12-13) |
|||
|
|||
|
|||
### Feature |
|||
|
|||
* update isSame isBefore isAfter supports units ([fd65464](https://github.com/iamkun/dayjs/commit/fd65464)) |
|||
|
|||
* add greek lithuanian locales |
|||
|
|||
## [1.7.7](https://github.com/iamkun/dayjs/compare/v1.7.6...v1.7.7) (2018-09-26) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* **DST:** fix daylight saving time DST bug && add test ([#354](https://github.com/iamkun/dayjs/issues/354)) ([6fca6d5](https://github.com/iamkun/dayjs/commit/6fca6d5)) |
|||
|
|||
## [1.7.6](https://github.com/iamkun/dayjs/compare/v1.7.5...v1.7.6) (2018-09-25) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* **add dayjs.unix:** add dayjs.unix to parse timestamp in seconds && locale update ([5711c5e](https://github.com/iamkun/dayjs/commit/5711c5e)) |
|||
|
|||
## [1.7.5](https://github.com/iamkun/dayjs/compare/v1.7.4...v1.7.5) (2018-08-10) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* add isBetween API & update ([b5fc3d1](https://github.com/iamkun/dayjs/commit/b5fc3d1)) |
|||
|
|||
## [1.7.4](https://github.com/iamkun/dayjs/compare/v1.7.3...v1.7.4) (2018-07-11) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* update set week logic ([60b6325](https://github.com/iamkun/dayjs/commit/60b6325)), closes [#276](https://github.com/iamkun/dayjs/issues/276) |
|||
|
|||
## [1.7.3](https://github.com/iamkun/dayjs/compare/v1.7.2...v1.7.3) (2018-07-10) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* **locale-nl:** set correct weekdays and months ([6d089d7](https://github.com/iamkun/dayjs/commit/6d089d7)) |
|||
|
|||
## [1.7.2](https://github.com/iamkun/dayjs/compare/v1.7.1...v1.7.2) (2018-07-04) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* DEPRECATED isLeapYear, use IsLeapYear plugin instead ([e2e5116](https://github.com/iamkun/dayjs/commit/e2e5116)) |
|||
|
|||
## [1.7.1](https://github.com/iamkun/dayjs/compare/v1.7.0...v1.7.1) (2018-07-03) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* fix week() error near the end of the year ([fa03689](https://github.com/iamkun/dayjs/commit/fa03689)) |
|||
|
|||
# [1.7.0](https://github.com/iamkun/dayjs/compare/v1.6.10...v1.7.0) (2018-07-02) |
|||
|
|||
|
|||
### Features |
|||
|
|||
* Added method `.week()` to retrieve week of the year ([e1c1b1c](https://github.com/iamkun/dayjs/commit/e1c1b1c)) |
|||
* Updated Japanese locae |
|||
|
|||
## [1.6.10](https://github.com/iamkun/dayjs/compare/v1.6.9...v1.6.10) (2018-06-25) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* Add relative locales to russian language ([c7e9898](https://github.com/iamkun/dayjs/commit/c7e9898)), closes [#256](https://github.com/iamkun/dayjs/issues/256) |
|||
|
|||
## [1.6.9](https://github.com/iamkun/dayjs/compare/v1.6.8...v1.6.9) (2018-06-14) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* add isDayjs => boolean API ([6227c8b](https://github.com/iamkun/dayjs/commit/6227c8b)) |
|||
|
|||
## [1.6.8](https://github.com/iamkun/dayjs/compare/v1.6.7...v1.6.8) (2018-06-14) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* fix Advanced format bug in zh-cn ([0c07874](https://github.com/iamkun/dayjs/commit/0c07874)), closes [#242](https://github.com/iamkun/dayjs/issues/242) |
|||
|
|||
## [1.6.7](https://github.com/iamkun/dayjs/compare/v1.6.6...v1.6.7) (2018-06-11) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* fix id locale ([1ebbeb8](https://github.com/iamkun/dayjs/commit/1ebbeb8)), closes [#234](https://github.com/iamkun/dayjs/issues/234) |
|||
|
|||
<a name="1.6.6"></a> |
|||
## [1.6.6](https://github.com/iamkun/dayjs/compare/v1.6.5...v1.6.6) (2018-06-06) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* format API update and locale file update ([5ca48f0](https://github.com/iamkun/dayjs/commit/5ca48f0)), closes [#228](https://github.com/iamkun/dayjs/issues/228) |
|||
|
|||
<a name="1.6.5"></a> |
|||
## [1.6.5](https://github.com/iamkun/dayjs/compare/v1.6.4...v1.6.5) (2018-05-31) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* bugfix, utils update and locale file update ([ebcb6d5](https://github.com/iamkun/dayjs/commit/ebcb6d5)), closes [#214](https://github.com/iamkun/dayjs/issues/214) |
|||
|
|||
<a name="1.6.4"></a> |
|||
## [1.6.4](https://github.com/iamkun/dayjs/compare/v1.6.3...v1.6.4) (2018-05-25) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* add RelativeTime plugin and locale file update ([c1fbbca](https://github.com/iamkun/dayjs/commit/c1fbbca)), closes [#198](https://github.com/iamkun/dayjs/issues/198) |
|||
|
|||
<a name="1.6.3"></a> |
|||
## [1.6.3](https://github.com/iamkun/dayjs/compare/v1.6.2...v1.6.3) (2018-05-21) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* Changing locales locally is immutable from this release ([2cce729](https://github.com/iamkun/dayjs/commit/2cce729)), closes [#182](https://github.com/iamkun/dayjs/issues/182) |
|||
* instance locale change should be immutable ([84597c9](https://github.com/iamkun/dayjs/commit/84597c9)) |
|||
* Add more locales |
|||
* english ordinal fix |
|||
|
|||
<a name="1.6.2"></a> |
|||
## [1.6.2](https://github.com/iamkun/dayjs/compare/v1.6.1...v1.6.2) (2018-05-18) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* change-log update && test new npm release ([aa49cba](https://github.com/iamkun/dayjs/commit/aa49cba)), closes [#163](https://github.com/iamkun/dayjs/issues/163) |
|||
|
|||
<a name="1.6.1"></a> |
|||
## [1.6.1](https://github.com/iamkun/dayjs/compare/v1.6.0...v1.6.1) (2018-05-18) |
|||
|
|||
|
|||
### Bug Fixes |
|||
|
|||
* Add German, Brazilian Portuguese locales |
|||
* add() & parse() bug fix & add locale de, pt-br ([bf1331e](https://github.com/iamkun/dayjs/commit/bf1331e)) |
|||
|
|||
<a name="1.6.0"></a> |
|||
# [1.6.0](https://github.com/iamkun/dayjs/compare/v1.5.24...v1.6.0) (2018-05-15) |
|||
|
|||
|
|||
### Features |
|||
|
|||
* Locale && Plugin ([2342c55](https://github.com/iamkun/dayjs/commit/2342c55)), closes [#141](https://github.com/iamkun/dayjs/issues/141) |
@ -0,0 +1,21 @@ |
|||
MIT License |
|||
|
|||
Copyright (c) 2018-present, iamkun |
|||
|
|||
Permission is hereby granted, free of charge, to any person obtaining a copy |
|||
of this software and associated documentation files (the "Software"), to deal |
|||
in the Software without restriction, including without limitation the rights |
|||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
|||
copies of the Software, and to permit persons to whom the Software is |
|||
furnished to do so, subject to the following conditions: |
|||
|
|||
The above copyright notice and this permission notice shall be included in all |
|||
copies or substantial portions of the Software. |
|||
|
|||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
|||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
|||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
|||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
|||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
|||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
|||
SOFTWARE. |
@ -0,0 +1,126 @@ |
|||
English | [简体中文](./docs/zh-cn/README.zh-CN.md) | [日本語](./docs/ja/README-ja.md) | [Português Brasileiro](./docs/pt-br/README-pt-br.md) | [한국어](./docs/ko/README-ko.md) | [Español (España)](./docs/es-es/README-es-es.md) | [Русский](./docs/ru/README-ru.md) |
|||
|
|||
<p align="center"><a href="https://day.js.org/" target="_blank" rel="noopener noreferrer"><img width="550" |
|||
src="https://user-images.githubusercontent.com/17680888/39081119-3057bbe2-456e-11e8-862c-646133ad4b43.png" |
|||
alt="Day.js"></a></p> |
|||
<p align="center">Fast <b>2kB</b> alternative to Moment.js with the same modern API</p> |
|||
<p align="center"> |
|||
<a href="https://unpkg.com/dayjs/dayjs.min.js"><img |
|||
src="https://img.badgesize.io/https://unpkg.com/dayjs/dayjs.min.js?compression=gzip&style=flat-square" |
|||
alt="Gzip Size"></a> |
|||
<a href="https://www.npmjs.com/package/dayjs"><img src="https://img.shields.io/npm/v/dayjs.svg?style=flat-square&colorB=51C838" |
|||
alt="NPM Version"></a> |
|||
<a href="https://travis-ci.com/iamkun/dayjs"><img |
|||
src="https://img.shields.io/travis/iamkun/dayjs/master.svg?style=flat-square" alt="Build Status"></a> |
|||
<a href="https://codecov.io/gh/iamkun/dayjs"><img |
|||
src="https://img.shields.io/codecov/c/github/iamkun/dayjs/master.svg?style=flat-square" alt="Codecov"></a> |
|||
<a href="https://github.com/iamkun/dayjs/blob/master/LICENSE"><img |
|||
src="https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square" alt="License"></a> |
|||
<br> |
|||
<a href="https://saucelabs.com/u/dayjs"> |
|||
<img width="750" src="https://user-images.githubusercontent.com/17680888/40040137-8e3323a6-584b-11e8-9dba-bbe577ee8a7b.png" alt="Sauce Test Status"> |
|||
</a> |
|||
</p> |
|||
|
|||
> Day.js is a minimalist JavaScript library that parses, validates, manipulates, and displays dates and times for modern browsers with a largely Moment.js-compatible API. If you use Moment.js, you already know how to use Day.js. |
|||
|
|||
```js |
|||
dayjs().startOf('month').add(1, 'day').set('year', 2018).format('YYYY-MM-DD HH:mm:ss'); |
|||
``` |
|||
|
|||
* 🕒 Familiar Moment.js API & patterns |
|||
* 💪 Immutable |
|||
* 🔥 Chainable |
|||
* 🌐 I18n support |
|||
* 📦 2kb mini library |
|||
* 👫 All browsers supported |
|||
|
|||
--- |
|||
|
|||
## Getting Started |
|||
|
|||
### Documentation |
|||
|
|||
You can find for more details, API, and other docs on [day.js.org](https://day.js.org/) website. |
|||
|
|||
### Installation |
|||
|
|||
```console |
|||
npm install dayjs --save |
|||
``` |
|||
|
|||
📚[Installation Guide](https://day.js.org/docs/en/installation/installation) |
|||
|
|||
### API |
|||
|
|||
It's easy to use Day.js APIs to parse, validate, manipulate, and display dates and times. |
|||
|
|||
```javascript |
|||
dayjs('2018-08-08') // parse |
|||
|
|||
dayjs().format('{YYYY} MM-DDTHH:mm:ss SSS [Z] A') // display |
|||
|
|||
dayjs().set('month', 3).month() // get & set |
|||
|
|||
dayjs().add(1, 'year') // manipulate |
|||
|
|||
dayjs().isBefore(dayjs()) // query |
|||
``` |
|||
|
|||
📚[API Reference](https://day.js.org/docs/en/parse/parse) |
|||
|
|||
### I18n |
|||
|
|||
Day.js has great support for internationalization. |
|||
|
|||
But none of them will be included in your build unless you use it. |
|||
|
|||
```javascript |
|||
import 'dayjs/locale/es' // load on demand |
|||
|
|||
dayjs.locale('es') // use Spanish locale globally |
|||
|
|||
dayjs('2018-05-05').locale('zh-cn').format() // use Chinese Simplified locale in a specific instance |
|||
``` |
|||
📚[Internationalization](https://day.js.org/docs/en/i18n/i18n) |
|||
|
|||
### Plugin |
|||
|
|||
A plugin is an independent module that can be added to Day.js to extend functionality or add new features. |
|||
|
|||
```javascript |
|||
import advancedFormat from 'dayjs/plugin/advancedFormat' // load on demand |
|||
|
|||
dayjs.extend(advancedFormat) // use plugin |
|||
|
|||
dayjs().format('Q Do k kk X x') // more available formats |
|||
``` |
|||
|
|||
📚[Plugin List](https://day.js.org/docs/en/plugin/plugin) |
|||
|
|||
## Sponsors |
|||
|
|||
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/dayjs#sponsor)] |
|||
|
|||
<a href="https://opencollective.com/dayjs/sponsor/0/website" target="_blank"><img src="https://opencollective.com/dayjs/sponsor/0/avatar.svg"></a> |
|||
<a href="https://opencollective.com/dayjs/sponsor/1/website" target="_blank"><img src="https://opencollective.com/dayjs/sponsor/1/avatar.svg"></a> |
|||
<a href="https://opencollective.com/dayjs/sponsor/2/website" target="_blank"><img src="https://opencollective.com/dayjs/sponsor/2/avatar.svg"></a> |
|||
<a href="https://opencollective.com/dayjs/sponsor/3/website" target="_blank"><img src="https://opencollective.com/dayjs/sponsor/3/avatar.svg"></a> |
|||
|
|||
## Contributors |
|||
|
|||
This project exists thanks to all the people who contribute. |
|||
|
|||
Please give us a 💖 star 💖 to support us. Thank you. |
|||
|
|||
And thank you to all our backers! 🙏 |
|||
|
|||
<a href="https://opencollective.com/dayjs/backer/0/website?requireActive=false" target="_blank"><img src="https://opencollective.com/dayjs/backer/0/avatar.svg?requireActive=false"></a> |
|||
<a href="https://opencollective.com/dayjs/backer/1/website?requireActive=false" target="_blank"><img src="https://opencollective.com/dayjs/backer/1/avatar.svg?requireActive=false"></a> |
|||
<a href="https://opencollective.com/dayjs/backer/2/website?requireActive=false" target="_blank"><img src="https://opencollective.com/dayjs/backer/2/avatar.svg?requireActive=false"></a> |
|||
<a href="https://opencollective.com/dayjs/backer/3/website?requireActive=false" target="_blank"><img src="https://opencollective.com/dayjs/backer/3/avatar.svg?requireActive=false"></a> |
|||
<a href="https://opencollective.com/dayjs#backers" target="_blank"><img src="https://opencollective.com/dayjs/contributors.svg?width=890" /></a> |
|||
|
|||
## License |
|||
|
|||
Day.js is licensed under a [MIT License](./LICENSE). |
File diff suppressed because one or more lines are too long
@ -0,0 +1,25 @@ |
|||
export var SECONDS_A_MINUTE = 60; |
|||
export var SECONDS_A_HOUR = SECONDS_A_MINUTE * 60; |
|||
export var SECONDS_A_DAY = SECONDS_A_HOUR * 24; |
|||
export var SECONDS_A_WEEK = SECONDS_A_DAY * 7; |
|||
export var MILLISECONDS_A_SECOND = 1e3; |
|||
export var MILLISECONDS_A_MINUTE = SECONDS_A_MINUTE * MILLISECONDS_A_SECOND; |
|||
export var MILLISECONDS_A_HOUR = SECONDS_A_HOUR * MILLISECONDS_A_SECOND; |
|||
export var MILLISECONDS_A_DAY = SECONDS_A_DAY * MILLISECONDS_A_SECOND; |
|||
export var MILLISECONDS_A_WEEK = SECONDS_A_WEEK * MILLISECONDS_A_SECOND; // English locales
|
|||
|
|||
export var MS = 'millisecond'; |
|||
export var S = 'second'; |
|||
export var MIN = 'minute'; |
|||
export var H = 'hour'; |
|||
export var D = 'day'; |
|||
export var W = 'week'; |
|||
export var M = 'month'; |
|||
export var Q = 'quarter'; |
|||
export var Y = 'year'; |
|||
export var DATE = 'date'; |
|||
export var FORMAT_DEFAULT = 'YYYY-MM-DDTHH:mm:ssZ'; |
|||
export var INVALID_DATE_STRING = 'Invalid Date'; // regex
|
|||
|
|||
export var REGEX_PARSE = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/; |
|||
export var REGEX_FORMAT = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g; |
@ -0,0 +1,429 @@ |
|||
/// <reference path="./locale/index.d.ts" />
|
|||
|
|||
export = dayjs; |
|||
|
|||
declare function dayjs (date?: dayjs.ConfigType): dayjs.Dayjs |
|||
|
|||
declare function dayjs (date?: dayjs.ConfigType, format?: dayjs.OptionType, strict?: boolean): dayjs.Dayjs |
|||
|
|||
declare function dayjs (date?: dayjs.ConfigType, format?: dayjs.OptionType, locale?: string, strict?: boolean): dayjs.Dayjs |
|||
|
|||
declare namespace dayjs { |
|||
interface ConfigTypeMap { |
|||
default: string | number | Date | Dayjs | null | undefined |
|||
} |
|||
|
|||
export type ConfigType = ConfigTypeMap[keyof ConfigTypeMap] |
|||
|
|||
export interface FormatObject { locale?: string, format?: string, utc?: boolean } |
|||
|
|||
export type OptionType = FormatObject | string | string[] |
|||
|
|||
export type UnitTypeShort = 'd' | 'M' | 'y' | 'h' | 'm' | 's' | 'ms' |
|||
|
|||
export type UnitTypeLong = 'millisecond' | 'second' | 'minute' | 'hour' | 'day' | 'month' | 'year' | 'date' |
|||
|
|||
export type UnitTypeLongPlural = 'milliseconds' | 'seconds' | 'minutes' | 'hours' | 'days' | 'months' | 'years' | 'dates' |
|||
|
|||
export type UnitType = UnitTypeLong | UnitTypeLongPlural | UnitTypeShort; |
|||
|
|||
export type OpUnitType = UnitType | "week" | "weeks" | 'w'; |
|||
export type QUnitType = UnitType | "quarter" | "quarters" | 'Q'; |
|||
export type ManipulateType = Omit<OpUnitType, 'date' | 'dates'>; |
|||
class Dayjs { |
|||
constructor (config?: ConfigType) |
|||
/** |
|||
* All Day.js objects are immutable. Still, `dayjs#clone` can create a clone of the current object if you need one. |
|||
* ``` |
|||
* dayjs().clone()// => Dayjs
|
|||
* dayjs(dayjs('2019-01-25')) // passing a Dayjs object to a constructor will also clone it
|
|||
* ``` |
|||
* Docs: https://day.js.org/docs/en/parse/dayjs-clone
|
|||
*/ |
|||
clone(): Dayjs |
|||
/** |
|||
* This returns a `boolean` indicating whether the Day.js object contains a valid date or not. |
|||
* ``` |
|||
* dayjs().isValid()// => boolean
|
|||
* ``` |
|||
* Docs: https://day.js.org/docs/en/parse/is-valid
|
|||
*/ |
|||
isValid(): boolean |
|||
/** |
|||
* Get the year. |
|||
* ``` |
|||
* dayjs().year()// => 2020
|
|||
* ``` |
|||
* Docs: https://day.js.org/docs/en/get-set/year
|
|||
*/ |
|||
year(): number |
|||
/** |
|||
* Set the year. |
|||
* ``` |
|||
* dayjs().year(2000)// => Dayjs
|
|||
* ``` |
|||
* Docs: https://day.js.org/docs/en/get-set/year
|
|||
*/ |
|||
year(value: number): Dayjs |
|||
/** |
|||
* Get the month. |
|||
* |
|||
* Months are zero indexed, so January is month 0. |
|||
* ``` |
|||
* dayjs().month()// => 0-11
|
|||
* ``` |
|||
* Docs: https://day.js.org/docs/en/get-set/month
|
|||
*/ |
|||
month(): number |
|||
/** |
|||
* Set the month. |
|||
* |
|||
* Months are zero indexed, so January is month 0. |
|||
* |
|||
* Accepts numbers from 0 to 11. If the range is exceeded, it will bubble up to the year. |
|||
* ``` |
|||
* dayjs().month(0)// => Dayjs
|
|||
* ``` |
|||
* Docs: https://day.js.org/docs/en/get-set/month
|
|||
*/ |
|||
month(value: number): Dayjs |
|||
/** |
|||
* Get the date of the month. |
|||
* ``` |
|||
* dayjs().date()// => 1-31
|
|||
* ``` |
|||
* Docs: https://day.js.org/docs/en/get-set/date
|
|||
*/ |
|||
date(): number |
|||
/** |
|||
* Set the date of the month. |
|||
* |
|||
* Accepts numbers from 1 to 31. If the range is exceeded, it will bubble up to the months. |
|||
* ``` |
|||
* dayjs().date(1)// => Dayjs
|
|||
* ``` |
|||
* Docs: https://day.js.org/docs/en/get-set/date
|
|||
*/ |
|||
date(value: number): Dayjs |
|||
/** |
|||
* Get the day of the week. |
|||
* |
|||
* Returns numbers from 0 (Sunday) to 6 (Saturday). |
|||
* ``` |
|||
* dayjs().day()// 0-6
|
|||
* ``` |
|||
* Docs: https://day.js.org/docs/en/get-set/day
|
|||
*/ |
|||
day(): number |
|||
/** |
|||
* Set the day of the week. |
|||
* |
|||
* Accepts numbers from 0 (Sunday) to 6 (Saturday). If the range is exceeded, it will bubble up to other weeks. |
|||
* ``` |
|||
* dayjs().day(0)// => Dayjs
|
|||
* ``` |
|||
* Docs: https://day.js.org/docs/en/get-set/day
|
|||
*/ |
|||
day(value: number): Dayjs |
|||
/** |
|||
* Get the hour. |
|||
* ``` |
|||
* dayjs().hour()// => 0-23
|
|||
* ``` |
|||
* Docs: https://day.js.org/docs/en/get-set/hour
|
|||
*/ |
|||
hour(): number |
|||
/** |
|||
* Set the hour. |
|||
* |
|||
* Accepts numbers from 0 to 23. If the range is exceeded, it will bubble up to the day. |
|||
* ``` |
|||
* dayjs().hour(12)// => Dayjs
|
|||
* ``` |
|||
* Docs: https://day.js.org/docs/en/get-set/hour
|
|||
*/ |
|||
hour(value: number): Dayjs |
|||
/** |
|||
* Get the minutes. |
|||
* ``` |
|||
* dayjs().minute()// => 0-59
|
|||
* ``` |
|||
* Docs: https://day.js.org/docs/en/get-set/minute
|
|||
*/ |
|||
minute(): number |
|||
/** |
|||
* Set the minutes. |
|||
* |
|||
* Accepts numbers from 0 to 59. If the range is exceeded, it will bubble up to the hour. |
|||
* ``` |
|||
* dayjs().minute(59)// => Dayjs
|
|||
* ``` |
|||
* Docs: https://day.js.org/docs/en/get-set/minute
|
|||
*/ |
|||
minute(value: number): Dayjs |
|||
/** |
|||
* Get the seconds. |
|||
* ``` |
|||
* dayjs().second()// => 0-59
|
|||
* ``` |
|||
* Docs: https://day.js.org/docs/en/get-set/second
|
|||
*/ |
|||
second(): number |
|||
/** |
|||
* Set the seconds. |
|||
* |
|||
* Accepts numbers from 0 to 59. If the range is exceeded, it will bubble up to the minutes. |
|||
* ``` |
|||
* dayjs().second(1)// Dayjs
|
|||
* ``` |
|||
*/ |
|||
second(value: number): Dayjs |
|||
/** |
|||
* Get the milliseconds. |
|||
* ``` |
|||
* dayjs().millisecond()// => 0-999
|
|||
* ``` |
|||
* Docs: https://day.js.org/docs/en/get-set/millisecond
|
|||
*/ |
|||
millisecond(): number |
|||
/** |
|||
* Set the milliseconds. |
|||
* |
|||
* Accepts numbers from 0 to 999. If the range is exceeded, it will bubble up to the seconds. |
|||
* ``` |
|||
* dayjs().millisecond(1)// => Dayjs
|
|||
* ``` |
|||
* Docs: https://day.js.org/docs/en/get-set/millisecond
|
|||
*/ |
|||
millisecond(value: number): Dayjs |
|||
/** |
|||
* Generic setter, accepting unit as first argument, and value as second, returns a new instance with the applied changes. |
|||
* |
|||
* In general: |
|||
* ``` |
|||
* dayjs().set(unit, value) === dayjs()[unit](value) |
|||
* ``` |
|||
* Units are case insensitive, and support plural and short forms. |
|||
* ``` |
|||
* dayjs().set('date', 1) |
|||
* dayjs().set('month', 3) // April
|
|||
* dayjs().set('second', 30) |
|||
* ``` |
|||
* Docs: https://day.js.org/docs/en/get-set/set
|
|||
*/ |
|||
set(unit: UnitType, value: number): Dayjs |
|||
/** |
|||
* String getter, returns the corresponding information getting from Day.js object. |
|||
* |
|||
* In general: |
|||
* ``` |
|||
* dayjs().get(unit) === dayjs()[unit]() |
|||
* ``` |
|||
* Units are case insensitive, and support plural and short forms. |
|||
* ``` |
|||
* dayjs().get('year') |
|||
* dayjs().get('month') // start 0
|
|||
* dayjs().get('date') |
|||
* ``` |
|||
* Docs: https://day.js.org/docs/en/get-set/get
|
|||
*/ |
|||
get(unit: UnitType): number |
|||
/** |
|||
* Returns a cloned Day.js object with a specified amount of time added. |
|||
* ``` |
|||
* dayjs().add(7, 'day')// => Dayjs
|
|||
* ``` |
|||
* Units are case insensitive, and support plural and short forms. |
|||
* |
|||
* Docs: https://day.js.org/docs/en/manipulate/add
|
|||
*/ |
|||
add(value: number, unit?: ManipulateType): Dayjs |
|||
/** |
|||
* Returns a cloned Day.js object with a specified amount of time subtracted. |
|||
* ``` |
|||
* dayjs().subtract(7, 'year')// => Dayjs
|
|||
* ``` |
|||
* Units are case insensitive, and support plural and short forms. |
|||
* |
|||
* Docs: https://day.js.org/docs/en/manipulate/subtract
|
|||
*/ |
|||
subtract(value: number, unit?: ManipulateType): Dayjs |
|||
/** |
|||
* Returns a cloned Day.js object and set it to the start of a unit of time. |
|||
* ``` |
|||
* dayjs().startOf('year')// => Dayjs
|
|||
* ``` |
|||
* Units are case insensitive, and support plural and short forms. |
|||
* |
|||
* Docs: https://day.js.org/docs/en/manipulate/start-of
|
|||
*/ |
|||
startOf(unit: OpUnitType): Dayjs |
|||
/** |
|||
* Returns a cloned Day.js object and set it to the end of a unit of time. |
|||
* ``` |
|||
* dayjs().endOf('month')// => Dayjs
|
|||
* ``` |
|||
* Units are case insensitive, and support plural and short forms. |
|||
* |
|||
* Docs: https://day.js.org/docs/en/manipulate/end-of
|
|||
*/ |
|||
endOf(unit: OpUnitType): Dayjs |
|||
/** |
|||
* Get the formatted date according to the string of tokens passed in. |
|||
* |
|||
* To escape characters, wrap them in square brackets (e.g. [MM]). |
|||
* ``` |
|||
* dayjs().format()// => current date in ISO8601, without fraction seconds e.g. '2020-04-02T08:02:17-05:00'
|
|||
* dayjs('2019-01-25').format('[YYYYescape] YYYY-MM-DDTHH:mm:ssZ[Z]')// 'YYYYescape 2019-01-25T00:00:00-02:00Z'
|
|||
* dayjs('2019-01-25').format('DD/MM/YYYY') // '25/01/2019'
|
|||
* ``` |
|||
* Docs: https://day.js.org/docs/en/display/format
|
|||
*/ |
|||
format(template?: string): string |
|||
/** |
|||
* This indicates the difference between two date-time in the specified unit. |
|||
* |
|||
* To get the difference in milliseconds, use `dayjs#diff` |
|||
* ``` |
|||
* const date1 = dayjs('2019-01-25') |
|||
* const date2 = dayjs('2018-06-05') |
|||
* date1.diff(date2) // 20214000000 default milliseconds
|
|||
* date1.diff() // milliseconds to current time
|
|||
* ``` |
|||
* |
|||
* To get the difference in another unit of measurement, pass that measurement as the second argument. |
|||
* ``` |
|||
* const date1 = dayjs('2019-01-25') |
|||
* date1.diff('2018-06-05', 'month') // 7
|
|||
* ``` |
|||
* Units are case insensitive, and support plural and short forms. |
|||
* |
|||
* Docs: https://day.js.org/docs/en/display/difference
|
|||
*/ |
|||
diff(date?: ConfigType, unit?: QUnitType | OpUnitType, float?: boolean): number |
|||
/** |
|||
* This returns the number of **milliseconds** since the Unix Epoch of the Day.js object. |
|||
* ``` |
|||
* dayjs('2019-01-25').valueOf() // 1548381600000
|
|||
* +dayjs(1548381600000) // 1548381600000
|
|||
* ``` |
|||
* To get a Unix timestamp (the number of seconds since the epoch) from a Day.js object, you should use Unix Timestamp `dayjs#unix()`. |
|||
* |
|||
* Docs: https://day.js.org/docs/en/display/unix-timestamp-milliseconds
|
|||
*/ |
|||
valueOf(): number |
|||
/** |
|||
* This returns the Unix timestamp (the number of **seconds** since the Unix Epoch) of the Day.js object. |
|||
* ``` |
|||
* dayjs('2019-01-25').unix() // 1548381600
|
|||
* ``` |
|||
* This value is floored to the nearest second, and does not include a milliseconds component. |
|||
* |
|||
* Docs: https://day.js.org/docs/en/display/unix-timestamp
|
|||
*/ |
|||
unix(): number |
|||
/** |
|||
* Get the number of days in the current month. |
|||
* ``` |
|||
* dayjs('2019-01-25').daysInMonth() // 31
|
|||
* ``` |
|||
* Docs: https://day.js.org/docs/en/display/days-in-month
|
|||
*/ |
|||
daysInMonth(): number |
|||
/** |
|||
* To get a copy of the native `Date` object parsed from the Day.js object use `dayjs#toDate`. |
|||
* ``` |
|||
* dayjs('2019-01-25').toDate()// => Date
|
|||
* ``` |
|||
*/ |
|||
toDate(): Date |
|||
/** |
|||
* To serialize as an ISO 8601 string. |
|||
* ``` |
|||
* dayjs('2019-01-25').toJSON() // '2019-01-25T02:00:00.000Z'
|
|||
* ``` |
|||
* Docs: https://day.js.org/docs/en/display/as-json
|
|||
*/ |
|||
toJSON(): string |
|||
/** |
|||
* To format as an ISO 8601 string. |
|||
* ``` |
|||
* dayjs('2019-01-25').toISOString() // '2019-01-25T02:00:00.000Z'
|
|||
* ``` |
|||
* Docs: https://day.js.org/docs/en/display/as-iso-string
|
|||
*/ |
|||
toISOString(): string |
|||
/** |
|||
* Returns a string representation of the date. |
|||
* ``` |
|||
* dayjs('2019-01-25').toString() // 'Fri, 25 Jan 2019 02:00:00 GMT'
|
|||
* ``` |
|||
* Docs: https://day.js.org/docs/en/display/as-string
|
|||
*/ |
|||
toString(): string |
|||
/** |
|||
* Get the UTC offset in minutes. |
|||
* ``` |
|||
* dayjs().utcOffset() |
|||
* ``` |
|||
* Docs: https://day.js.org/docs/en/manipulate/utc-offset
|
|||
*/ |
|||
utcOffset(): number |
|||
/** |
|||
* This indicates whether the Day.js object is before the other supplied date-time. |
|||
* ``` |
|||
* dayjs().isBefore(dayjs('2011-01-01')) // default milliseconds
|
|||
* ``` |
|||
* If you want to limit the granularity to a unit other than milliseconds, pass it as the second parameter. |
|||
* ``` |
|||
* dayjs().isBefore('2011-01-01', 'year')// => boolean
|
|||
* ``` |
|||
* Units are case insensitive, and support plural and short forms. |
|||
* |
|||
* Docs: https://day.js.org/docs/en/query/is-before
|
|||
*/ |
|||
isBefore(date: ConfigType, unit?: OpUnitType): boolean |
|||
/** |
|||
* This indicates whether the Day.js object is the same as the other supplied date-time. |
|||
* ``` |
|||
* dayjs().isSame(dayjs('2011-01-01')) // default milliseconds
|
|||
* ``` |
|||
* If you want to limit the granularity to a unit other than milliseconds, pass it as the second parameter. |
|||
* ``` |
|||
* dayjs().isSame('2011-01-01', 'year')// => boolean
|
|||
* ``` |
|||
* Docs: https://day.js.org/docs/en/query/is-same
|
|||
*/ |
|||
isSame(date: ConfigType, unit?: OpUnitType): boolean |
|||
/** |
|||
* This indicates whether the Day.js object is after the other supplied date-time. |
|||
* ``` |
|||
* dayjs().isAfter(dayjs('2011-01-01')) // default milliseconds
|
|||
* ``` |
|||
* If you want to limit the granularity to a unit other than milliseconds, pass it as the second parameter. |
|||
* ``` |
|||
* dayjs().isAfter('2011-01-01', 'year')// => boolean
|
|||
* ``` |
|||
* Units are case insensitive, and support plural and short forms. |
|||
* |
|||
* Docs: https://day.js.org/docs/en/query/is-after
|
|||
*/ |
|||
isAfter(date: ConfigType, unit?: OpUnitType): boolean |
|||
|
|||
locale(): string |
|||
|
|||
locale(preset: string | ILocale, object?: Partial<ILocale>): Dayjs |
|||
} |
|||
|
|||
export type PluginFunc<T = unknown> = (option: T, c: typeof Dayjs, d: typeof dayjs) => void |
|||
|
|||
export function extend<T = unknown>(plugin: PluginFunc<T>, option?: T): Dayjs |
|||
|
|||
export function locale(preset?: string | ILocale, object?: Partial<ILocale>, isLocal?: boolean): string |
|||
|
|||
export function isDayjs(d: any): d is Dayjs |
|||
|
|||
export function unix(t: number): Dayjs |
|||
|
|||
const Ls : { [key: string] : ILocale } |
|||
} |
@ -0,0 +1,433 @@ |
|||
import * as C from './constant'; |
|||
import en from './locale/en'; |
|||
import U from './utils'; |
|||
var L = 'en'; // global locale
|
|||
|
|||
var Ls = {}; // global loaded locale
|
|||
|
|||
Ls[L] = en; |
|||
|
|||
var isDayjs = function isDayjs(d) { |
|||
return d instanceof Dayjs; |
|||
}; // eslint-disable-line no-use-before-define
|
|||
|
|||
|
|||
var parseLocale = function parseLocale(preset, object, isLocal) { |
|||
var l; |
|||
if (!preset) return L; |
|||
|
|||
if (typeof preset === 'string') { |
|||
if (Ls[preset]) { |
|||
l = preset; |
|||
} |
|||
|
|||
if (object) { |
|||
Ls[preset] = object; |
|||
l = preset; |
|||
} |
|||
} else { |
|||
var name = preset.name; |
|||
Ls[name] = preset; |
|||
l = name; |
|||
} |
|||
|
|||
if (!isLocal && l) L = l; |
|||
return l || !isLocal && L; |
|||
}; |
|||
|
|||
var dayjs = function dayjs(date, c) { |
|||
if (isDayjs(date)) { |
|||
return date.clone(); |
|||
} // eslint-disable-next-line no-nested-ternary
|
|||
|
|||
|
|||
var cfg = typeof c === 'object' ? c : {}; |
|||
cfg.date = date; |
|||
cfg.args = arguments; // eslint-disable-line prefer-rest-params
|
|||
|
|||
return new Dayjs(cfg); // eslint-disable-line no-use-before-define
|
|||
}; |
|||
|
|||
var wrapper = function wrapper(date, instance) { |
|||
return dayjs(date, { |
|||
locale: instance.$L, |
|||
utc: instance.$u, |
|||
x: instance.$x, |
|||
$offset: instance.$offset // todo: refactor; do not use this.$offset in you code
|
|||
|
|||
}); |
|||
}; |
|||
|
|||
var Utils = U; // for plugin use
|
|||
|
|||
Utils.l = parseLocale; |
|||
Utils.i = isDayjs; |
|||
Utils.w = wrapper; |
|||
|
|||
var parseDate = function parseDate(cfg) { |
|||
var date = cfg.date, |
|||
utc = cfg.utc; |
|||
if (date === null) return new Date(NaN); // null is invalid
|
|||
|
|||
if (Utils.u(date)) return new Date(); // today
|
|||
|
|||
if (date instanceof Date) return new Date(date); |
|||
|
|||
if (typeof date === 'string' && !/Z$/i.test(date)) { |
|||
var d = date.match(C.REGEX_PARSE); |
|||
|
|||
if (d) { |
|||
var m = d[2] - 1 || 0; |
|||
var ms = (d[7] || '0').substring(0, 3); |
|||
|
|||
if (utc) { |
|||
return new Date(Date.UTC(d[1], m, d[3] || 1, d[4] || 0, d[5] || 0, d[6] || 0, ms)); |
|||
} |
|||
|
|||
return new Date(d[1], m, d[3] || 1, d[4] || 0, d[5] || 0, d[6] || 0, ms); |
|||
} |
|||
} |
|||
|
|||
return new Date(date); // everything else
|
|||
}; |
|||
|
|||
var Dayjs = /*#__PURE__*/function () { |
|||
function Dayjs(cfg) { |
|||
this.$L = parseLocale(cfg.locale, null, true); |
|||
this.parse(cfg); // for plugin
|
|||
} |
|||
|
|||
var _proto = Dayjs.prototype; |
|||
|
|||
_proto.parse = function parse(cfg) { |
|||
this.$d = parseDate(cfg); |
|||
this.$x = cfg.x || {}; |
|||
this.init(); |
|||
}; |
|||
|
|||
_proto.init = function init() { |
|||
var $d = this.$d; |
|||
this.$y = $d.getFullYear(); |
|||
this.$M = $d.getMonth(); |
|||
this.$D = $d.getDate(); |
|||
this.$W = $d.getDay(); |
|||
this.$H = $d.getHours(); |
|||
this.$m = $d.getMinutes(); |
|||
this.$s = $d.getSeconds(); |
|||
this.$ms = $d.getMilliseconds(); |
|||
} // eslint-disable-next-line class-methods-use-this
|
|||
; |
|||
|
|||
_proto.$utils = function $utils() { |
|||
return Utils; |
|||
}; |
|||
|
|||
_proto.isValid = function isValid() { |
|||
return !(this.$d.toString() === C.INVALID_DATE_STRING); |
|||
}; |
|||
|
|||
_proto.isSame = function isSame(that, units) { |
|||
var other = dayjs(that); |
|||
return this.startOf(units) <= other && other <= this.endOf(units); |
|||
}; |
|||
|
|||
_proto.isAfter = function isAfter(that, units) { |
|||
return dayjs(that) < this.startOf(units); |
|||
}; |
|||
|
|||
_proto.isBefore = function isBefore(that, units) { |
|||
return this.endOf(units) < dayjs(that); |
|||
}; |
|||
|
|||
_proto.$g = function $g(input, get, set) { |
|||
if (Utils.u(input)) return this[get]; |
|||
return this.set(set, input); |
|||
}; |
|||
|
|||
_proto.unix = function unix() { |
|||
return Math.floor(this.valueOf() / 1000); |
|||
}; |
|||
|
|||
_proto.valueOf = function valueOf() { |
|||
// timezone(hour) * 60 * 60 * 1000 => ms
|
|||
return this.$d.getTime(); |
|||
}; |
|||
|
|||
_proto.startOf = function startOf(units, _startOf) { |
|||
var _this = this; |
|||
|
|||
// startOf -> endOf
|
|||
var isStartOf = !Utils.u(_startOf) ? _startOf : true; |
|||
var unit = Utils.p(units); |
|||
|
|||
var instanceFactory = function instanceFactory(d, m) { |
|||
var ins = Utils.w(_this.$u ? Date.UTC(_this.$y, m, d) : new Date(_this.$y, m, d), _this); |
|||
return isStartOf ? ins : ins.endOf(C.D); |
|||
}; |
|||
|
|||
var instanceFactorySet = function instanceFactorySet(method, slice) { |
|||
var argumentStart = [0, 0, 0, 0]; |
|||
var argumentEnd = [23, 59, 59, 999]; |
|||
return Utils.w(_this.toDate()[method].apply( // eslint-disable-line prefer-spread
|
|||
_this.toDate('s'), (isStartOf ? argumentStart : argumentEnd).slice(slice)), _this); |
|||
}; |
|||
|
|||
var $W = this.$W, |
|||
$M = this.$M, |
|||
$D = this.$D; |
|||
var utcPad = "set" + (this.$u ? 'UTC' : ''); |
|||
|
|||
switch (unit) { |
|||
case C.Y: |
|||
return isStartOf ? instanceFactory(1, 0) : instanceFactory(31, 11); |
|||
|
|||
case C.M: |
|||
return isStartOf ? instanceFactory(1, $M) : instanceFactory(0, $M + 1); |
|||
|
|||
case C.W: |
|||
{ |
|||
var weekStart = this.$locale().weekStart || 0; |
|||
var gap = ($W < weekStart ? $W + 7 : $W) - weekStart; |
|||
return instanceFactory(isStartOf ? $D - gap : $D + (6 - gap), $M); |
|||
} |
|||
|
|||
case C.D: |
|||
case C.DATE: |
|||
return instanceFactorySet(utcPad + "Hours", 0); |
|||
|
|||
case C.H: |
|||
return instanceFactorySet(utcPad + "Minutes", 1); |
|||
|
|||
case C.MIN: |
|||
return instanceFactorySet(utcPad + "Seconds", 2); |
|||
|
|||
case C.S: |
|||
return instanceFactorySet(utcPad + "Milliseconds", 3); |
|||
|
|||
default: |
|||
return this.clone(); |
|||
} |
|||
}; |
|||
|
|||
_proto.endOf = function endOf(arg) { |
|||
return this.startOf(arg, false); |
|||
}; |
|||
|
|||
_proto.$set = function $set(units, _int) { |
|||
var _C$D$C$DATE$C$M$C$Y$C; |
|||
|
|||
// private set
|
|||
var unit = Utils.p(units); |
|||
var utcPad = "set" + (this.$u ? 'UTC' : ''); |
|||
var name = (_C$D$C$DATE$C$M$C$Y$C = {}, _C$D$C$DATE$C$M$C$Y$C[C.D] = utcPad + "Date", _C$D$C$DATE$C$M$C$Y$C[C.DATE] = utcPad + "Date", _C$D$C$DATE$C$M$C$Y$C[C.M] = utcPad + "Month", _C$D$C$DATE$C$M$C$Y$C[C.Y] = utcPad + "FullYear", _C$D$C$DATE$C$M$C$Y$C[C.H] = utcPad + "Hours", _C$D$C$DATE$C$M$C$Y$C[C.MIN] = utcPad + "Minutes", _C$D$C$DATE$C$M$C$Y$C[C.S] = utcPad + "Seconds", _C$D$C$DATE$C$M$C$Y$C[C.MS] = utcPad + "Milliseconds", _C$D$C$DATE$C$M$C$Y$C)[unit]; |
|||
var arg = unit === C.D ? this.$D + (_int - this.$W) : _int; |
|||
|
|||
if (unit === C.M || unit === C.Y) { |
|||
// clone is for badMutable plugin
|
|||
var date = this.clone().set(C.DATE, 1); |
|||
date.$d[name](arg); |
|||
date.init(); |
|||
this.$d = date.set(C.DATE, Math.min(this.$D, date.daysInMonth())).$d; |
|||
} else if (name) this.$d[name](arg); |
|||
|
|||
this.init(); |
|||
return this; |
|||
}; |
|||
|
|||
_proto.set = function set(string, _int2) { |
|||
return this.clone().$set(string, _int2); |
|||
}; |
|||
|
|||
_proto.get = function get(unit) { |
|||
return this[Utils.p(unit)](); |
|||
}; |
|||
|
|||
_proto.add = function add(number, units) { |
|||
var _this2 = this, |
|||
_C$MIN$C$H$C$S$unit; |
|||
|
|||
number = Number(number); // eslint-disable-line no-param-reassign
|
|||
|
|||
var unit = Utils.p(units); |
|||
|
|||
var instanceFactorySet = function instanceFactorySet(n) { |
|||
var d = dayjs(_this2); |
|||
return Utils.w(d.date(d.date() + Math.round(n * number)), _this2); |
|||
}; |
|||
|
|||
if (unit === C.M) { |
|||
return this.set(C.M, this.$M + number); |
|||
} |
|||
|
|||
if (unit === C.Y) { |
|||
return this.set(C.Y, this.$y + number); |
|||
} |
|||
|
|||
if (unit === C.D) { |
|||
return instanceFactorySet(1); |
|||
} |
|||
|
|||
if (unit === C.W) { |
|||
return instanceFactorySet(7); |
|||
} |
|||
|
|||
var step = (_C$MIN$C$H$C$S$unit = {}, _C$MIN$C$H$C$S$unit[C.MIN] = C.MILLISECONDS_A_MINUTE, _C$MIN$C$H$C$S$unit[C.H] = C.MILLISECONDS_A_HOUR, _C$MIN$C$H$C$S$unit[C.S] = C.MILLISECONDS_A_SECOND, _C$MIN$C$H$C$S$unit)[unit] || 1; // ms
|
|||
|
|||
var nextTimeStamp = this.$d.getTime() + number * step; |
|||
return Utils.w(nextTimeStamp, this); |
|||
}; |
|||
|
|||
_proto.subtract = function subtract(number, string) { |
|||
return this.add(number * -1, string); |
|||
}; |
|||
|
|||
_proto.format = function format(formatStr) { |
|||
var _this3 = this; |
|||
|
|||
var locale = this.$locale(); |
|||
if (!this.isValid()) return locale.invalidDate || C.INVALID_DATE_STRING; |
|||
var str = formatStr || C.FORMAT_DEFAULT; |
|||
var zoneStr = Utils.z(this); |
|||
var $H = this.$H, |
|||
$m = this.$m, |
|||
$M = this.$M; |
|||
var weekdays = locale.weekdays, |
|||
months = locale.months, |
|||
meridiem = locale.meridiem; |
|||
|
|||
var getShort = function getShort(arr, index, full, length) { |
|||
return arr && (arr[index] || arr(_this3, str)) || full[index].substr(0, length); |
|||
}; |
|||
|
|||
var get$H = function get$H(num) { |
|||
return Utils.s($H % 12 || 12, num, '0'); |
|||
}; |
|||
|
|||
var meridiemFunc = meridiem || function (hour, minute, isLowercase) { |
|||
var m = hour < 12 ? 'AM' : 'PM'; |
|||
return isLowercase ? m.toLowerCase() : m; |
|||
}; |
|||
|
|||
var matches = { |
|||
YY: String(this.$y).slice(-2), |
|||
YYYY: this.$y, |
|||
M: $M + 1, |
|||
MM: Utils.s($M + 1, 2, '0'), |
|||
MMM: getShort(locale.monthsShort, $M, months, 3), |
|||
MMMM: getShort(months, $M), |
|||
D: this.$D, |
|||
DD: Utils.s(this.$D, 2, '0'), |
|||
d: String(this.$W), |
|||
dd: getShort(locale.weekdaysMin, this.$W, weekdays, 2), |
|||
ddd: getShort(locale.weekdaysShort, this.$W, weekdays, 3), |
|||
dddd: weekdays[this.$W], |
|||
H: String($H), |
|||
HH: Utils.s($H, 2, '0'), |
|||
h: get$H(1), |
|||
hh: get$H(2), |
|||
a: meridiemFunc($H, $m, true), |
|||
A: meridiemFunc($H, $m, false), |
|||
m: String($m), |
|||
mm: Utils.s($m, 2, '0'), |
|||
s: String(this.$s), |
|||
ss: Utils.s(this.$s, 2, '0'), |
|||
SSS: Utils.s(this.$ms, 3, '0'), |
|||
Z: zoneStr // 'ZZ' logic below
|
|||
|
|||
}; |
|||
return str.replace(C.REGEX_FORMAT, function (match, $1) { |
|||
return $1 || matches[match] || zoneStr.replace(':', ''); |
|||
}); // 'ZZ'
|
|||
}; |
|||
|
|||
_proto.utcOffset = function utcOffset() { |
|||
// Because a bug at FF24, we're rounding the timezone offset around 15 minutes
|
|||
// https://github.com/moment/moment/pull/1871
|
|||
return -Math.round(this.$d.getTimezoneOffset() / 15) * 15; |
|||
}; |
|||
|
|||
_proto.diff = function diff(input, units, _float) { |
|||
var _C$Y$C$M$C$Q$C$W$C$D$; |
|||
|
|||
var unit = Utils.p(units); |
|||
var that = dayjs(input); |
|||
var zoneDelta = (that.utcOffset() - this.utcOffset()) * C.MILLISECONDS_A_MINUTE; |
|||
var diff = this - that; |
|||
var result = Utils.m(this, that); |
|||
result = (_C$Y$C$M$C$Q$C$W$C$D$ = {}, _C$Y$C$M$C$Q$C$W$C$D$[C.Y] = result / 12, _C$Y$C$M$C$Q$C$W$C$D$[C.M] = result, _C$Y$C$M$C$Q$C$W$C$D$[C.Q] = result / 3, _C$Y$C$M$C$Q$C$W$C$D$[C.W] = (diff - zoneDelta) / C.MILLISECONDS_A_WEEK, _C$Y$C$M$C$Q$C$W$C$D$[C.D] = (diff - zoneDelta) / C.MILLISECONDS_A_DAY, _C$Y$C$M$C$Q$C$W$C$D$[C.H] = diff / C.MILLISECONDS_A_HOUR, _C$Y$C$M$C$Q$C$W$C$D$[C.MIN] = diff / C.MILLISECONDS_A_MINUTE, _C$Y$C$M$C$Q$C$W$C$D$[C.S] = diff / C.MILLISECONDS_A_SECOND, _C$Y$C$M$C$Q$C$W$C$D$)[unit] || diff; // milliseconds
|
|||
|
|||
return _float ? result : Utils.a(result); |
|||
}; |
|||
|
|||
_proto.daysInMonth = function daysInMonth() { |
|||
return this.endOf(C.M).$D; |
|||
}; |
|||
|
|||
_proto.$locale = function $locale() { |
|||
// get locale object
|
|||
return Ls[this.$L]; |
|||
}; |
|||
|
|||
_proto.locale = function locale(preset, object) { |
|||
if (!preset) return this.$L; |
|||
var that = this.clone(); |
|||
var nextLocaleName = parseLocale(preset, object, true); |
|||
if (nextLocaleName) that.$L = nextLocaleName; |
|||
return that; |
|||
}; |
|||
|
|||
_proto.clone = function clone() { |
|||
return Utils.w(this.$d, this); |
|||
}; |
|||
|
|||
_proto.toDate = function toDate() { |
|||
return new Date(this.valueOf()); |
|||
}; |
|||
|
|||
_proto.toJSON = function toJSON() { |
|||
return this.isValid() ? this.toISOString() : null; |
|||
}; |
|||
|
|||
_proto.toISOString = function toISOString() { |
|||
// ie 8 return
|
|||
// new Dayjs(this.valueOf() + this.$d.getTimezoneOffset() * 60000)
|
|||
// .format('YYYY-MM-DDTHH:mm:ss.SSS[Z]')
|
|||
return this.$d.toISOString(); |
|||
}; |
|||
|
|||
_proto.toString = function toString() { |
|||
return this.$d.toUTCString(); |
|||
}; |
|||
|
|||
return Dayjs; |
|||
}(); |
|||
|
|||
var proto = Dayjs.prototype; |
|||
dayjs.prototype = proto; |
|||
[['$ms', C.MS], ['$s', C.S], ['$m', C.MIN], ['$H', C.H], ['$W', C.D], ['$M', C.M], ['$y', C.Y], ['$D', C.DATE]].forEach(function (g) { |
|||
proto[g[1]] = function (input) { |
|||
return this.$g(input, g[0], g[1]); |
|||
}; |
|||
}); |
|||
|
|||
dayjs.extend = function (plugin, option) { |
|||
if (!plugin.$i) { |
|||
// install plugin only once
|
|||
plugin(option, Dayjs, dayjs); |
|||
plugin.$i = true; |
|||
} |
|||
|
|||
return dayjs; |
|||
}; |
|||
|
|||
dayjs.locale = parseLocale; |
|||
dayjs.isDayjs = isDayjs; |
|||
|
|||
dayjs.unix = function (timestamp) { |
|||
return dayjs(timestamp * 1e3); |
|||
}; |
|||
|
|||
dayjs.en = Ls[L]; |
|||
dayjs.Ls = Ls; |
|||
dayjs.p = {}; |
|||
export default dayjs; |
@ -0,0 +1,39 @@ |
|||
// Afrikaans [af]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'af', |
|||
weekdays: 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split('_'), |
|||
months: 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split('_'), |
|||
weekStart: 1, |
|||
weekdaysShort: 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'), |
|||
monthsShort: 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'), |
|||
weekdaysMin: 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'), |
|||
ordinal: function ordinal(n) { |
|||
return n; |
|||
}, |
|||
formats: { |
|||
LT: 'HH:mm', |
|||
LTS: 'HH:mm:ss', |
|||
L: 'DD/MM/YYYY', |
|||
LL: 'D MMMM YYYY', |
|||
LLL: 'D MMMM YYYY HH:mm', |
|||
LLLL: 'dddd, D MMMM YYYY HH:mm' |
|||
}, |
|||
relativeTime: { |
|||
future: 'oor %s', |
|||
past: '%s gelede', |
|||
s: "'n paar sekondes", |
|||
m: "'n minuut", |
|||
mm: '%d minute', |
|||
h: "'n uur", |
|||
hh: '%d ure', |
|||
d: "'n dag", |
|||
dd: '%d dae', |
|||
M: "'n maand", |
|||
MM: '%d maande', |
|||
y: "'n jaar", |
|||
yy: '%d jaar' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,40 @@ |
|||
// Amharic [am]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'am', |
|||
weekdays: 'እሑድ_ሰኞ_ማክሰኞ_ረቡዕ_ሐሙስ_አርብ_ቅዳሜ'.split('_'), |
|||
weekdaysShort: 'እሑድ_ሰኞ_ማክሰ_ረቡዕ_ሐሙስ_አርብ_ቅዳሜ'.split('_'), |
|||
weekdaysMin: 'እሑ_ሰኞ_ማክ_ረቡ_ሐሙ_አር_ቅዳ'.split('_'), |
|||
months: 'ጃንዋሪ_ፌብሯሪ_ማርች_ኤፕሪል_ሜይ_ጁን_ጁላይ_ኦገስት_ሴፕቴምበር_ኦክቶበር_ኖቬምበር_ዲሴምበር'.split('_'), |
|||
monthsShort: 'ጃንዋ_ፌብሯ_ማርች_ኤፕሪ_ሜይ_ጁን_ጁላይ_ኦገስ_ሴፕቴ_ኦክቶ_ኖቬም_ዲሴም'.split('_'), |
|||
weekStart: 1, |
|||
yearStart: 4, |
|||
relativeTime: { |
|||
future: 'በ%s', |
|||
past: '%s በፊት', |
|||
s: 'ጥቂት ሰከንዶች', |
|||
m: 'አንድ ደቂቃ', |
|||
mm: '%d ደቂቃዎች', |
|||
h: 'አንድ ሰዓት', |
|||
hh: '%d ሰዓታት', |
|||
d: 'አንድ ቀን', |
|||
dd: '%d ቀናት', |
|||
M: 'አንድ ወር', |
|||
MM: '%d ወራት', |
|||
y: 'አንድ ዓመት', |
|||
yy: '%d ዓመታት' |
|||
}, |
|||
formats: { |
|||
LT: 'HH:mm', |
|||
LTS: 'HH:mm:ss', |
|||
L: 'DD/MM/YYYY', |
|||
LL: 'MMMM D ፣ YYYY', |
|||
LLL: 'MMMM D ፣ YYYY HH:mm', |
|||
LLLL: 'dddd ፣ MMMM D ፣ YYYY HH:mm' |
|||
}, |
|||
ordinal: function ordinal(n) { |
|||
return n + "\u129B"; |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,41 @@ |
|||
// Arabic (Algeria) [ar-dz]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'ar-dz', |
|||
weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), |
|||
months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'), |
|||
weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), |
|||
monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'), |
|||
weekdaysMin: 'أح_إث_ثلا_أر_خم_جم_سب'.split('_'), |
|||
ordinal: function ordinal(n) { |
|||
return n; |
|||
}, |
|||
formats: { |
|||
LT: 'HH:mm', |
|||
LTS: 'HH:mm:ss', |
|||
L: 'DD/MM/YYYY', |
|||
LL: 'D MMMM YYYY', |
|||
LLL: 'D MMMM YYYY HH:mm', |
|||
LLLL: 'dddd D MMMM YYYY HH:mm' |
|||
}, |
|||
meridiem: function meridiem(hour) { |
|||
return hour > 12 ? 'ص' : 'م'; |
|||
}, |
|||
relativeTime: { |
|||
future: 'في %s', |
|||
past: 'منذ %s', |
|||
s: 'ثوان', |
|||
m: 'دقيقة', |
|||
mm: '%d دقائق', |
|||
h: 'ساعة', |
|||
hh: '%d ساعات', |
|||
d: 'يوم', |
|||
dd: '%d أيام', |
|||
M: 'شهر', |
|||
MM: '%d أشهر', |
|||
y: 'سنة', |
|||
yy: '%d سنوات' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,42 @@ |
|||
// Arabic (Iraq) [ar-iq]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'ar-iq', |
|||
weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), |
|||
months: 'كانون الثاني_شباط_آذار_نيسان_أيار_حزيران_تموز_آب_أيلول_تشرين الأول_ تشرين الثاني_كانون الأول'.split('_'), |
|||
weekStart: 1, |
|||
weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), |
|||
monthsShort: 'كانون الثاني_شباط_آذار_نيسان_أيار_حزيران_تموز_آب_أيلول_تشرين الأول_ تشرين الثاني_كانون الأول'.split('_'), |
|||
weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), |
|||
ordinal: function ordinal(n) { |
|||
return n; |
|||
}, |
|||
formats: { |
|||
LT: 'HH:mm', |
|||
LTS: 'HH:mm:ss', |
|||
L: 'DD/MM/YYYY', |
|||
LL: 'D MMMM YYYY', |
|||
LLL: 'D MMMM YYYY HH:mm', |
|||
LLLL: 'dddd D MMMM YYYY HH:mm' |
|||
}, |
|||
meridiem: function meridiem(hour) { |
|||
return hour > 12 ? 'ص' : 'م'; |
|||
}, |
|||
relativeTime: { |
|||
future: 'في %s', |
|||
past: 'منذ %s', |
|||
s: 'ثوان', |
|||
m: 'دقيقة', |
|||
mm: '%d دقائق', |
|||
h: 'ساعة', |
|||
hh: '%d ساعات', |
|||
d: 'يوم', |
|||
dd: '%d أيام', |
|||
M: 'شهر', |
|||
MM: '%d أشهر', |
|||
y: 'سنة', |
|||
yy: '%d سنوات' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,41 @@ |
|||
// Arabic (Kuwait) [ar-kw]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'ar-kw', |
|||
weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), |
|||
months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'), |
|||
weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), |
|||
monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'), |
|||
weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), |
|||
ordinal: function ordinal(n) { |
|||
return n; |
|||
}, |
|||
formats: { |
|||
LT: 'HH:mm', |
|||
LTS: 'HH:mm:ss', |
|||
L: 'DD/MM/YYYY', |
|||
LL: 'D MMMM YYYY', |
|||
LLL: 'D MMMM YYYY HH:mm', |
|||
LLLL: 'dddd D MMMM YYYY HH:mm' |
|||
}, |
|||
meridiem: function meridiem(hour) { |
|||
return hour > 12 ? 'ص' : 'م'; |
|||
}, |
|||
relativeTime: { |
|||
future: 'في %s', |
|||
past: 'منذ %s', |
|||
s: 'ثوان', |
|||
m: 'دقيقة', |
|||
mm: '%d دقائق', |
|||
h: 'ساعة', |
|||
hh: '%d ساعات', |
|||
d: 'يوم', |
|||
dd: '%d أيام', |
|||
M: 'شهر', |
|||
MM: '%d أشهر', |
|||
y: 'سنة', |
|||
yy: '%d سنوات' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,27 @@ |
|||
// Arabic (Lybia) [ar-ly]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'ar-ly', |
|||
weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), |
|||
months: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'), |
|||
weekStart: 6, |
|||
weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), |
|||
monthsShort: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'), |
|||
weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), |
|||
ordinal: function ordinal(n) { |
|||
return n; |
|||
}, |
|||
meridiem: function meridiem(hour) { |
|||
return hour > 12 ? 'ص' : 'م'; |
|||
}, |
|||
formats: { |
|||
LT: 'HH:mm', |
|||
LTS: 'HH:mm:ss', |
|||
L: 'D/M/YYYY', |
|||
LL: 'D MMMM YYYY', |
|||
LLL: 'D MMMM YYYY HH:mm', |
|||
LLLL: 'dddd D MMMM YYYY HH:mm' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,42 @@ |
|||
// Arabic (Morocco) [ar-ma]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'ar-ma', |
|||
weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), |
|||
months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'), |
|||
weekStart: 6, |
|||
weekdaysShort: 'احد_إثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), |
|||
monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'), |
|||
weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), |
|||
ordinal: function ordinal(n) { |
|||
return n; |
|||
}, |
|||
formats: { |
|||
LT: 'HH:mm', |
|||
LTS: 'HH:mm:ss', |
|||
L: 'DD/MM/YYYY', |
|||
LL: 'D MMMM YYYY', |
|||
LLL: 'D MMMM YYYY HH:mm', |
|||
LLLL: 'dddd D MMMM YYYY HH:mm' |
|||
}, |
|||
meridiem: function meridiem(hour) { |
|||
return hour > 12 ? 'ص' : 'م'; |
|||
}, |
|||
relativeTime: { |
|||
future: 'في %s', |
|||
past: 'منذ %s', |
|||
s: 'ثوان', |
|||
m: 'دقيقة', |
|||
mm: '%d دقائق', |
|||
h: 'ساعة', |
|||
hh: '%d ساعات', |
|||
d: 'يوم', |
|||
dd: '%d أيام', |
|||
M: 'شهر', |
|||
MM: '%d أشهر', |
|||
y: 'سنة', |
|||
yy: '%d سنوات' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,41 @@ |
|||
// Arabic (Saudi Arabia) [ar-sa]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'ar-sa', |
|||
weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), |
|||
months: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'), |
|||
weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), |
|||
monthsShort: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'), |
|||
weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), |
|||
ordinal: function ordinal(n) { |
|||
return n; |
|||
}, |
|||
formats: { |
|||
LT: 'HH:mm', |
|||
LTS: 'HH:mm:ss', |
|||
L: 'DD/MM/YYYY', |
|||
LL: 'D MMMM YYYY', |
|||
LLL: 'D MMMM YYYY HH:mm', |
|||
LLLL: 'dddd D MMMM YYYY HH:mm' |
|||
}, |
|||
meridiem: function meridiem(hour) { |
|||
return hour > 12 ? 'ص' : 'م'; |
|||
}, |
|||
relativeTime: { |
|||
future: 'في %s', |
|||
past: 'منذ %s', |
|||
s: 'ثوان', |
|||
m: 'دقيقة', |
|||
mm: '%d دقائق', |
|||
h: 'ساعة', |
|||
hh: '%d ساعات', |
|||
d: 'يوم', |
|||
dd: '%d أيام', |
|||
M: 'شهر', |
|||
MM: '%d أشهر', |
|||
y: 'سنة', |
|||
yy: '%d سنوات' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,42 @@ |
|||
// Arabic (Tunisia) [ar-tn]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'ar-tn', |
|||
weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), |
|||
months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'), |
|||
weekStart: 1, |
|||
weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), |
|||
monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'), |
|||
weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), |
|||
ordinal: function ordinal(n) { |
|||
return n; |
|||
}, |
|||
formats: { |
|||
LT: 'HH:mm', |
|||
LTS: 'HH:mm:ss', |
|||
L: 'DD/MM/YYYY', |
|||
LL: 'D MMMM YYYY', |
|||
LLL: 'D MMMM YYYY HH:mm', |
|||
LLLL: 'dddd D MMMM YYYY HH:mm' |
|||
}, |
|||
meridiem: function meridiem(hour) { |
|||
return hour > 12 ? 'ص' : 'م'; |
|||
}, |
|||
relativeTime: { |
|||
future: 'في %s', |
|||
past: 'منذ %s', |
|||
s: 'ثوان', |
|||
m: 'دقيقة', |
|||
mm: '%d دقائق', |
|||
h: 'ساعة', |
|||
hh: '%d ساعات', |
|||
d: 'يوم', |
|||
dd: '%d أيام', |
|||
M: 'شهر', |
|||
MM: '%d أشهر', |
|||
y: 'سنة', |
|||
yy: '%d سنوات' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,74 @@ |
|||
// Arabic [ar]
|
|||
import dayjs from '../index'; |
|||
var months = 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'); |
|||
var symbolMap = { |
|||
1: '١', |
|||
2: '٢', |
|||
3: '٣', |
|||
4: '٤', |
|||
5: '٥', |
|||
6: '٦', |
|||
7: '٧', |
|||
8: '٨', |
|||
9: '٩', |
|||
0: '٠' |
|||
}; |
|||
var numberMap = { |
|||
'١': '1', |
|||
'٢': '2', |
|||
'٣': '3', |
|||
'٤': '4', |
|||
'٥': '5', |
|||
'٦': '6', |
|||
'٧': '7', |
|||
'٨': '8', |
|||
'٩': '9', |
|||
'٠': '0' |
|||
}; |
|||
var locale = { |
|||
name: 'ar', |
|||
weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'), |
|||
weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), |
|||
weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), |
|||
months: months, |
|||
monthsShort: months, |
|||
weekStart: 6, |
|||
relativeTime: { |
|||
future: 'بعد %s', |
|||
past: 'منذ %s', |
|||
s: 'ثانية واحدة', |
|||
m: 'دقيقة واحدة', |
|||
mm: '%d دقائق', |
|||
h: 'ساعة واحدة', |
|||
hh: '%d ساعات', |
|||
d: 'يوم واحد', |
|||
dd: '%d أيام', |
|||
M: 'شهر واحد', |
|||
MM: '%d أشهر', |
|||
y: 'عام واحد', |
|||
yy: '%d أعوام' |
|||
}, |
|||
preparse: function preparse(string) { |
|||
return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) { |
|||
return numberMap[match]; |
|||
}).replace(/،/g, ','); |
|||
}, |
|||
postformat: function postformat(string) { |
|||
return string.replace(/\d/g, function (match) { |
|||
return symbolMap[match]; |
|||
}).replace(/,/g, '،'); |
|||
}, |
|||
ordinal: function ordinal(n) { |
|||
return n; |
|||
}, |
|||
formats: { |
|||
LT: 'HH:mm', |
|||
LTS: 'HH:mm:ss', |
|||
L: 'D/M/YYYY', |
|||
LL: 'D MMMM YYYY', |
|||
LLL: 'D MMMM YYYY HH:mm', |
|||
LLLL: 'dddd D MMMM YYYY HH:mm' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,39 @@ |
|||
// Azerbaijani [az]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'az', |
|||
weekdays: 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split('_'), |
|||
weekdaysShort: 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'), |
|||
weekdaysMin: 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'), |
|||
months: 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split('_'), |
|||
monthsShort: 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'), |
|||
weekStart: 1, |
|||
formats: { |
|||
LT: 'H:mm', |
|||
LTS: 'H:mm:ss', |
|||
L: 'DD.MM.YYYY', |
|||
LL: 'D MMMM YYYY г.', |
|||
LLL: 'D MMMM YYYY г., H:mm', |
|||
LLLL: 'dddd, D MMMM YYYY г., H:mm' |
|||
}, |
|||
relativeTime: { |
|||
future: '%s sonra', |
|||
past: '%s əvvəl', |
|||
s: 'bir neçə saniyə', |
|||
m: 'bir dəqiqə', |
|||
mm: '%d dəqiqə', |
|||
h: 'bir saat', |
|||
hh: '%d saat', |
|||
d: 'bir gün', |
|||
dd: '%d gün', |
|||
M: 'bir ay', |
|||
MM: '%d ay', |
|||
y: 'bir il', |
|||
yy: '%d il' |
|||
}, |
|||
ordinal: function ordinal(n) { |
|||
return n; |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,24 @@ |
|||
// Belarusian [be]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'be', |
|||
weekdays: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split('_'), |
|||
months: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split('_'), |
|||
weekStart: 1, |
|||
weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'), |
|||
monthsShort: 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'), |
|||
weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.split('_'), |
|||
ordinal: function ordinal(n) { |
|||
return n; |
|||
}, |
|||
formats: { |
|||
LT: 'HH:mm', |
|||
LTS: 'HH:mm:ss', |
|||
L: 'DD.MM.YYYY', |
|||
LL: 'D MMMM YYYY г.', |
|||
LLL: 'D MMMM YYYY г., HH:mm', |
|||
LLLL: 'dddd, D MMMM YYYY г., HH:mm' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,55 @@ |
|||
// Bulgarian [bg]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'bg', |
|||
weekdays: 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split('_'), |
|||
weekdaysShort: 'нед_пон_вто_сря_чет_пет_съб'.split('_'), |
|||
weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'), |
|||
months: 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split('_'), |
|||
monthsShort: 'янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'), |
|||
weekStart: 1, |
|||
ordinal: function ordinal(n) { |
|||
var last2Digits = n % 100; |
|||
|
|||
if (last2Digits > 10 && last2Digits < 20) { |
|||
return n + "-\u0442\u0438"; |
|||
} |
|||
|
|||
var lastDigit = n % 10; |
|||
|
|||
if (lastDigit === 1) { |
|||
return n + "-\u0432\u0438"; |
|||
} else if (lastDigit === 2) { |
|||
return n + "-\u0440\u0438"; |
|||
} else if (lastDigit === 7 || lastDigit === 8) { |
|||
return n + "-\u043C\u0438"; |
|||
} |
|||
|
|||
return n + "-\u0442\u0438"; |
|||
}, |
|||
formats: { |
|||
LT: 'H:mm', |
|||
LTS: 'H:mm:ss', |
|||
L: 'D.MM.YYYY', |
|||
LL: 'D MMMM YYYY', |
|||
LLL: 'D MMMM YYYY H:mm', |
|||
LLLL: 'dddd, D MMMM YYYY H:mm' |
|||
}, |
|||
relativeTime: { |
|||
future: 'след %s', |
|||
past: 'преди %s', |
|||
s: 'няколко секунди', |
|||
m: 'минута', |
|||
mm: '%d минути', |
|||
h: 'час', |
|||
hh: '%d часа', |
|||
d: 'ден', |
|||
dd: '%d дена', |
|||
M: 'месец', |
|||
MM: '%d месеца', |
|||
y: 'година', |
|||
yy: '%d години' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,39 @@ |
|||
// Bislama [bi]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'bi', |
|||
weekdays: 'Sande_Mande_Tusde_Wenesde_Tosde_Fraede_Sarade'.split('_'), |
|||
months: 'Januari_Februari_Maj_Eprel_Mei_Jun_Julae_Okis_Septemba_Oktoba_Novemba_Disemba'.split('_'), |
|||
weekStart: 1, |
|||
weekdaysShort: 'San_Man_Tus_Wen_Tos_Frae_Sar'.split('_'), |
|||
monthsShort: 'Jan_Feb_Maj_Epr_Mai_Jun_Jul_Oki_Sep_Okt_Nov_Dis'.split('_'), |
|||
weekdaysMin: 'San_Ma_Tu_We_To_Fr_Sar'.split('_'), |
|||
ordinal: function ordinal(n) { |
|||
return n; |
|||
}, |
|||
formats: { |
|||
LT: 'h:mm A', |
|||
LTS: 'h:mm:ss A', |
|||
L: 'DD/MM/YYYY', |
|||
LL: 'D MMMM YYYY', |
|||
LLL: 'D MMMM YYYY h:mm A', |
|||
LLLL: 'dddd, D MMMM YYYY h:mm A' |
|||
}, |
|||
relativeTime: { |
|||
future: 'lo %s', |
|||
past: '%s bifo', |
|||
s: 'sam seken', |
|||
m: 'wan minit', |
|||
mm: '%d minit', |
|||
h: 'wan haoa', |
|||
hh: '%d haoa', |
|||
d: 'wan dei', |
|||
dd: '%d dei', |
|||
M: 'wan manis', |
|||
MM: '%d manis', |
|||
y: 'wan yia', |
|||
yy: '%d yia' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,39 @@ |
|||
// Bambara [bm]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'bm', |
|||
weekdays: 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'), |
|||
months: 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split('_'), |
|||
weekStart: 1, |
|||
weekdaysShort: 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'), |
|||
monthsShort: 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'), |
|||
weekdaysMin: 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'), |
|||
ordinal: function ordinal(n) { |
|||
return n; |
|||
}, |
|||
formats: { |
|||
LT: 'HH:mm', |
|||
LTS: 'HH:mm:ss', |
|||
L: 'DD/MM/YYYY', |
|||
LL: 'MMMM [tile] D [san] YYYY', |
|||
LLL: 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm', |
|||
LLLL: 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm' |
|||
}, |
|||
relativeTime: { |
|||
future: '%s kɔnɔ', |
|||
past: 'a bɛ %s bɔ', |
|||
s: 'sanga dama dama', |
|||
m: 'miniti kelen', |
|||
mm: 'miniti %d', |
|||
h: 'lɛrɛ kelen', |
|||
hh: 'lɛrɛ %d', |
|||
d: 'tile kelen', |
|||
dd: 'tile %d', |
|||
M: 'kalo kelen', |
|||
MM: 'kalo %d', |
|||
y: 'san kelen', |
|||
yy: 'san %d' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,72 @@ |
|||
// Bengali [bn]
|
|||
import dayjs from '../index'; |
|||
var symbolMap = { |
|||
1: '১', |
|||
2: '২', |
|||
3: '৩', |
|||
4: '৪', |
|||
5: '৫', |
|||
6: '৬', |
|||
7: '৭', |
|||
8: '৮', |
|||
9: '৯', |
|||
0: '০' |
|||
}; |
|||
var numberMap = { |
|||
'১': '1', |
|||
'২': '2', |
|||
'৩': '3', |
|||
'৪': '4', |
|||
'৫': '5', |
|||
'৬': '6', |
|||
'৭': '7', |
|||
'৮': '8', |
|||
'৯': '9', |
|||
'০': '0' |
|||
}; |
|||
var locale = { |
|||
name: 'bn', |
|||
weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split('_'), |
|||
months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split('_'), |
|||
weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'), |
|||
monthsShort: 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split('_'), |
|||
weekdaysMin: 'রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি'.split('_'), |
|||
preparse: function preparse(string) { |
|||
return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) { |
|||
return numberMap[match]; |
|||
}); |
|||
}, |
|||
postformat: function postformat(string) { |
|||
return string.replace(/\d/g, function (match) { |
|||
return symbolMap[match]; |
|||
}); |
|||
}, |
|||
ordinal: function ordinal(n) { |
|||
return n; |
|||
}, |
|||
formats: { |
|||
LT: 'A h:mm সময়', |
|||
LTS: 'A h:mm:ss সময়', |
|||
L: 'DD/MM/YYYY', |
|||
LL: 'D MMMM YYYY', |
|||
LLL: 'D MMMM YYYY, A h:mm সময়', |
|||
LLLL: 'dddd, D MMMM YYYY, A h:mm সময়' |
|||
}, |
|||
relativeTime: { |
|||
future: '%s পরে', |
|||
past: '%s আগে', |
|||
s: 'কয়েক সেকেন্ড', |
|||
m: 'এক মিনিট', |
|||
mm: '%d মিনিট', |
|||
h: 'এক ঘন্টা', |
|||
hh: '%d ঘন্টা', |
|||
d: 'এক দিন', |
|||
dd: '%d দিন', |
|||
M: 'এক মাস', |
|||
MM: '%d মাস', |
|||
y: 'এক বছর', |
|||
yy: '%d বছর' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,38 @@ |
|||
// Tibetan [bo]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'bo', |
|||
weekdays: 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split('_'), |
|||
months: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'), |
|||
weekdaysShort: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'), |
|||
monthsShort: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'), |
|||
weekdaysMin: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'), |
|||
ordinal: function ordinal(n) { |
|||
return n; |
|||
}, |
|||
formats: { |
|||
LT: 'A h:mm', |
|||
LTS: 'A h:mm:ss', |
|||
L: 'DD/MM/YYYY', |
|||
LL: 'D MMMM YYYY', |
|||
LLL: 'D MMMM YYYY, A h:mm', |
|||
LLLL: 'dddd, D MMMM YYYY, A h:mm' |
|||
}, |
|||
relativeTime: { |
|||
future: '%s ལ་', |
|||
past: '%s སྔན་ལ', |
|||
s: 'ལམ་སང', |
|||
m: 'སྐར་མ་གཅིག', |
|||
mm: '%d སྐར་མ', |
|||
h: 'ཆུ་ཚོད་གཅིག', |
|||
hh: '%d ཆུ་ཚོད', |
|||
d: 'ཉིན་གཅིག', |
|||
dd: '%d ཉིན་', |
|||
M: 'ཟླ་བ་གཅིག', |
|||
MM: '%d ཟླ་བ', |
|||
y: 'ལོ་གཅིག', |
|||
yy: '%d ལོ' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,93 @@ |
|||
// Breton [br]
|
|||
import dayjs from '../index'; |
|||
|
|||
function lastNumber(number) { |
|||
if (number > 9) { |
|||
return lastNumber(number % 10); |
|||
} |
|||
|
|||
return number; |
|||
} |
|||
|
|||
function softMutation(text) { |
|||
var mutationTable = { |
|||
m: 'v', |
|||
b: 'v', |
|||
d: 'z' |
|||
}; |
|||
return mutationTable[text.charAt(0)] + text.substring(1); |
|||
} |
|||
|
|||
function mutation(text, number) { |
|||
if (number === 2) { |
|||
return softMutation(text); |
|||
} |
|||
|
|||
return text; |
|||
} |
|||
|
|||
function relativeTimeWithMutation(number, withoutSuffix, key) { |
|||
var format = { |
|||
mm: 'munutenn', |
|||
MM: 'miz', |
|||
dd: 'devezh' |
|||
}; |
|||
return number + " " + mutation(format[key], number); |
|||
} |
|||
|
|||
function specialMutationForYears(number) { |
|||
/* istanbul ignore next line */ |
|||
switch (lastNumber(number)) { |
|||
case 1: |
|||
case 3: |
|||
case 4: |
|||
case 5: |
|||
case 9: |
|||
return number + " bloaz"; |
|||
|
|||
default: |
|||
return number + " vloaz"; |
|||
} |
|||
} |
|||
|
|||
var locale = { |
|||
name: 'br', |
|||
weekdays: 'Sul_Lun_Meurzh_Mercʼher_Yaou_Gwener_Sadorn'.split('_'), |
|||
months: 'Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split('_'), |
|||
weekStart: 1, |
|||
weekdaysShort: 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'), |
|||
monthsShort: 'Gen_Cʼhwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'), |
|||
weekdaysMin: 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'), |
|||
ordinal: function ordinal(n) { |
|||
return n; |
|||
}, |
|||
formats: { |
|||
LT: 'h[e]mm A', |
|||
LTS: 'h[e]mm:ss A', |
|||
L: 'DD/MM/YYYY', |
|||
LL: 'D [a viz] MMMM YYYY', |
|||
LLL: 'D [a viz] MMMM YYYY h[e]mm A', |
|||
LLLL: 'dddd, D [a viz] MMMM YYYY h[e]mm A' |
|||
}, |
|||
relativeTime: { |
|||
future: 'a-benn %s', |
|||
past: '%s ʼzo', |
|||
s: 'un nebeud segondennoù', |
|||
m: 'ur vunutenn', |
|||
mm: relativeTimeWithMutation, |
|||
h: 'un eur', |
|||
hh: '%d eur', |
|||
d: 'un devezh', |
|||
dd: relativeTimeWithMutation, |
|||
M: 'ur miz', |
|||
MM: relativeTimeWithMutation, |
|||
y: 'ur bloaz', |
|||
yy: specialMutationForYears |
|||
}, |
|||
meridiem: function meridiem(hour) { |
|||
return hour < 12 ? 'a.m.' : 'g.m.'; |
|||
} // a-raok merenn | goude merenn
|
|||
|
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,24 @@ |
|||
// Bosnian [bs]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'bs', |
|||
weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'), |
|||
months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split('_'), |
|||
weekStart: 1, |
|||
weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'), |
|||
monthsShort: 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split('_'), |
|||
weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'), |
|||
ordinal: function ordinal(n) { |
|||
return n; |
|||
}, |
|||
formats: { |
|||
LT: 'H:mm', |
|||
LTS: 'H:mm:ss', |
|||
L: 'DD.MM.YYYY', |
|||
LL: 'D. MMMM YYYY', |
|||
LLL: 'D. MMMM YYYY H:mm', |
|||
LLLL: 'dddd, D. MMMM YYYY H:mm' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,44 @@ |
|||
// Catalan [ca]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'ca', |
|||
weekdays: 'Diumenge_Dilluns_Dimarts_Dimecres_Dijous_Divendres_Dissabte'.split('_'), |
|||
weekdaysShort: 'Dg._Dl._Dt._Dc._Dj._Dv._Ds.'.split('_'), |
|||
weekdaysMin: 'Dg_Dl_Dt_Dc_Dj_Dv_Ds'.split('_'), |
|||
months: 'Gener_Febrer_Març_Abril_Maig_Juny_Juliol_Agost_Setembre_Octubre_Novembre_Desembre'.split('_'), |
|||
monthsShort: 'Gen._Febr._Març_Abr._Maig_Juny_Jul._Ag._Set._Oct._Nov._Des.'.split('_'), |
|||
weekStart: 1, |
|||
formats: { |
|||
LT: 'H:mm', |
|||
LTS: 'H:mm:ss', |
|||
L: 'DD/MM/YYYY', |
|||
LL: 'D MMMM [de] YYYY', |
|||
LLL: 'D MMMM [de] YYYY [a les] H:mm', |
|||
LLLL: 'dddd D MMMM [de] YYYY [a les] H:mm', |
|||
ll: 'D MMM YYYY', |
|||
lll: 'D MMM YYYY, H:mm', |
|||
llll: 'ddd D MMM YYYY, H:mm' |
|||
}, |
|||
relativeTime: { |
|||
future: 'd\'aquí %s', |
|||
past: 'fa %s', |
|||
s: 'uns segons', |
|||
m: 'un minut', |
|||
mm: '%d minuts', |
|||
h: 'una hora', |
|||
hh: '%d hores', |
|||
d: 'un dia', |
|||
dd: '%d dies', |
|||
M: 'un mes', |
|||
MM: '%d mesos', |
|||
y: 'un any', |
|||
yy: '%d anys' |
|||
}, |
|||
ordinal: function ordinal(n) { |
|||
var ord; |
|||
if (n === 1 || n === 3) ord = 'r';else if (n === 2) ord = 'n';else if (n === 4) ord = 't';else ord = 'è'; |
|||
return "" + n + ord; |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,120 @@ |
|||
// Czech [cs]
|
|||
import dayjs from '../index'; |
|||
|
|||
function plural(n) { |
|||
return n > 1 && n < 5 && ~~(n / 10) !== 1; // eslint-disable-line
|
|||
} |
|||
/* eslint-disable */ |
|||
|
|||
|
|||
function translate(number, withoutSuffix, key, isFuture) { |
|||
var result = number + " "; |
|||
|
|||
switch (key) { |
|||
case 's': |
|||
// a few seconds / in a few seconds / a few seconds ago
|
|||
return withoutSuffix || isFuture ? 'pár sekund' : 'pár sekundami'; |
|||
|
|||
case 'm': |
|||
// a minute / in a minute / a minute ago
|
|||
return withoutSuffix ? 'minuta' : isFuture ? 'minutu' : 'minutou'; |
|||
|
|||
case 'mm': |
|||
// 9 minutes / in 9 minutes / 9 minutes ago
|
|||
if (withoutSuffix || isFuture) { |
|||
return result + (plural(number) ? 'minuty' : 'minut'); |
|||
} |
|||
|
|||
return result + "minutami"; |
|||
|
|||
case 'h': |
|||
// an hour / in an hour / an hour ago
|
|||
return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou'; |
|||
|
|||
case 'hh': |
|||
// 9 hours / in 9 hours / 9 hours ago
|
|||
if (withoutSuffix || isFuture) { |
|||
return result + (plural(number) ? 'hodiny' : 'hodin'); |
|||
} |
|||
|
|||
return result + "hodinami"; |
|||
|
|||
case 'd': |
|||
// a day / in a day / a day ago
|
|||
return withoutSuffix || isFuture ? 'den' : 'dnem'; |
|||
|
|||
case 'dd': |
|||
// 9 days / in 9 days / 9 days ago
|
|||
if (withoutSuffix || isFuture) { |
|||
return result + (plural(number) ? 'dny' : 'dní'); |
|||
} |
|||
|
|||
return result + "dny"; |
|||
|
|||
case 'M': |
|||
// a month / in a month / a month ago
|
|||
return withoutSuffix || isFuture ? 'měsíc' : 'měsícem'; |
|||
|
|||
case 'MM': |
|||
// 9 months / in 9 months / 9 months ago
|
|||
if (withoutSuffix || isFuture) { |
|||
return result + (plural(number) ? 'měsíce' : 'měsíců'); |
|||
} |
|||
|
|||
return result + "m\u011Bs\xEDci"; |
|||
|
|||
case 'y': |
|||
// a year / in a year / a year ago
|
|||
return withoutSuffix || isFuture ? 'rok' : 'rokem'; |
|||
|
|||
case 'yy': |
|||
// 9 years / in 9 years / 9 years ago
|
|||
if (withoutSuffix || isFuture) { |
|||
return result + (plural(number) ? 'roky' : 'let'); |
|||
} |
|||
|
|||
return result + "lety"; |
|||
} |
|||
} |
|||
/* eslint-enable */ |
|||
|
|||
|
|||
var locale = { |
|||
name: 'cs', |
|||
weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'), |
|||
weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'), |
|||
weekdaysMin: 'ne_po_út_st_čt_pá_so'.split('_'), |
|||
months: 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split('_'), |
|||
monthsShort: 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'), |
|||
weekStart: 1, |
|||
yearStart: 4, |
|||
ordinal: function ordinal(n) { |
|||
return n + "."; |
|||
}, |
|||
formats: { |
|||
LT: 'H:mm', |
|||
LTS: 'H:mm:ss', |
|||
L: 'DD.MM.YYYY', |
|||
LL: 'D. MMMM YYYY', |
|||
LLL: 'D. MMMM YYYY H:mm', |
|||
LLLL: 'dddd D. MMMM YYYY H:mm', |
|||
l: 'D. M. YYYY' |
|||
}, |
|||
relativeTime: { |
|||
future: 'za %s', |
|||
past: 'před %s', |
|||
s: translate, |
|||
m: translate, |
|||
mm: translate, |
|||
h: translate, |
|||
hh: translate, |
|||
d: translate, |
|||
dd: translate, |
|||
M: translate, |
|||
MM: translate, |
|||
y: translate, |
|||
yy: translate |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,24 @@ |
|||
// Chuvash [cv]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'cv', |
|||
weekdays: 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split('_'), |
|||
months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split('_'), |
|||
weekStart: 1, |
|||
weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'), |
|||
monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'), |
|||
weekdaysMin: 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'), |
|||
ordinal: function ordinal(n) { |
|||
return n; |
|||
}, |
|||
formats: { |
|||
LT: 'HH:mm', |
|||
LTS: 'HH:mm:ss', |
|||
L: 'DD-MM-YYYY', |
|||
LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]', |
|||
LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm', |
|||
LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,39 @@ |
|||
// Welsh [cy]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'cy', |
|||
weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split('_'), |
|||
months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split('_'), |
|||
weekStart: 1, |
|||
weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'), |
|||
monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split('_'), |
|||
weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'), |
|||
ordinal: function ordinal(n) { |
|||
return n; |
|||
}, |
|||
formats: { |
|||
LT: 'HH:mm', |
|||
LTS: 'HH:mm:ss', |
|||
L: 'DD/MM/YYYY', |
|||
LL: 'D MMMM YYYY', |
|||
LLL: 'D MMMM YYYY HH:mm', |
|||
LLLL: 'dddd, D MMMM YYYY HH:mm' |
|||
}, |
|||
relativeTime: { |
|||
future: 'mewn %s', |
|||
past: '%s yn ôl', |
|||
s: 'ychydig eiliadau', |
|||
m: 'munud', |
|||
mm: '%d munud', |
|||
h: 'awr', |
|||
hh: '%d awr', |
|||
d: 'diwrnod', |
|||
dd: '%d diwrnod', |
|||
M: 'mis', |
|||
MM: '%d mis', |
|||
y: 'blwyddyn', |
|||
yy: '%d flynedd' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,39 @@ |
|||
// Danish [da]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'da', |
|||
weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'), |
|||
weekdaysShort: 'søn._man._tirs._ons._tors._fre._lør.'.split('_'), |
|||
weekdaysMin: 'sø._ma._ti._on._to._fr._lø.'.split('_'), |
|||
months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'), |
|||
monthsShort: 'jan._feb._mar._apr._maj_juni_juli_aug._sept._okt._nov._dec.'.split('_'), |
|||
weekStart: 1, |
|||
ordinal: function ordinal(n) { |
|||
return n + "."; |
|||
}, |
|||
formats: { |
|||
LT: 'HH:mm', |
|||
LTS: 'HH:mm:ss', |
|||
L: 'DD.MM.YYYY', |
|||
LL: 'D. MMMM YYYY', |
|||
LLL: 'D. MMMM YYYY HH:mm', |
|||
LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm' |
|||
}, |
|||
relativeTime: { |
|||
future: 'om %s', |
|||
past: '%s siden', |
|||
s: 'få sekunder', |
|||
m: 'et minut', |
|||
mm: '%d minutter', |
|||
h: 'en time', |
|||
hh: '%d timer', |
|||
d: 'en dag', |
|||
dd: '%d dage', |
|||
M: 'en måned', |
|||
MM: '%d måneder', |
|||
y: 'et år', |
|||
yy: '%d år' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,39 @@ |
|||
// German (Austria) [de-at]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'de-at', |
|||
weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'), |
|||
weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'), |
|||
weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), |
|||
months: 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'), |
|||
monthsShort: 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'), |
|||
ordinal: function ordinal(n) { |
|||
return n + "."; |
|||
}, |
|||
weekStart: 1, |
|||
formats: { |
|||
LTS: 'HH:mm:ss', |
|||
LT: 'HH:mm', |
|||
L: 'DD.MM.YYYY', |
|||
LL: 'D. MMMM YYYY', |
|||
LLL: 'D. MMMM YYYY HH:mm', |
|||
LLLL: 'dddd, D. MMMM YYYY HH:mm' |
|||
}, |
|||
relativeTime: { |
|||
future: 'in %s', |
|||
past: 'vor %s', |
|||
s: 'ein paar Sekunden', |
|||
m: 'einer Minute', |
|||
mm: '%d Minuten', |
|||
h: 'einer Stunde', |
|||
hh: '%d Stunden', |
|||
d: 'einem Tag', |
|||
dd: '%d Tagen', |
|||
M: 'einem Monat', |
|||
MM: '%d Monaten', |
|||
y: 'einem Jahr', |
|||
yy: '%d Jahren' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,24 @@ |
|||
// German (Switzerland) [de-ch]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'de-ch', |
|||
weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'), |
|||
months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'), |
|||
weekStart: 1, |
|||
weekdaysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), |
|||
monthsShort: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'), |
|||
weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), |
|||
ordinal: function ordinal(n) { |
|||
return n; |
|||
}, |
|||
formats: { |
|||
LT: 'HH:mm', |
|||
LTS: 'HH:mm:ss', |
|||
L: 'DD.MM.YYYY', |
|||
LL: 'D. MMMM YYYY', |
|||
LLL: 'D. MMMM YYYY HH:mm', |
|||
LLLL: 'dddd, D. MMMM YYYY HH:mm' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,64 @@ |
|||
// German [de]
|
|||
import dayjs from '../index'; |
|||
var texts = { |
|||
s: 'ein paar Sekunden', |
|||
m: ['eine Minute', 'einer Minute'], |
|||
mm: '%d Minuten', |
|||
h: ['eine Stunde', 'einer Stunde'], |
|||
hh: '%d Stunden', |
|||
d: ['ein Tag', 'einem Tag'], |
|||
dd: ['%d Tage', '%d Tagen'], |
|||
M: ['ein Monat', 'einem Monat'], |
|||
MM: ['%d Monate', '%d Monaten'], |
|||
y: ['ein Jahr', 'einem Jahr'], |
|||
yy: ['%d Jahre', '%d Jahren'] |
|||
}; |
|||
|
|||
function relativeTimeFormatter(number, withoutSuffix, key) { |
|||
var l = texts[key]; |
|||
|
|||
if (Array.isArray(l)) { |
|||
l = l[withoutSuffix ? 0 : 1]; |
|||
} |
|||
|
|||
return l.replace('%d', number); |
|||
} |
|||
|
|||
var locale = { |
|||
name: 'de', |
|||
weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'), |
|||
weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'), |
|||
weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), |
|||
months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'), |
|||
monthsShort: 'Jan_Feb_März_Apr_Mai_Juni_Juli_Aug_Sept_Okt_Nov_Dez'.split('_'), |
|||
ordinal: function ordinal(n) { |
|||
return n + "."; |
|||
}, |
|||
weekStart: 1, |
|||
yearStart: 4, |
|||
formats: { |
|||
LTS: 'HH:mm:ss', |
|||
LT: 'HH:mm', |
|||
L: 'DD.MM.YYYY', |
|||
LL: 'D. MMMM YYYY', |
|||
LLL: 'D. MMMM YYYY HH:mm', |
|||
LLLL: 'dddd, D. MMMM YYYY HH:mm' |
|||
}, |
|||
relativeTime: { |
|||
future: 'in %s', |
|||
past: 'vor %s', |
|||
s: relativeTimeFormatter, |
|||
m: relativeTimeFormatter, |
|||
mm: relativeTimeFormatter, |
|||
h: relativeTimeFormatter, |
|||
hh: relativeTimeFormatter, |
|||
d: relativeTimeFormatter, |
|||
dd: relativeTimeFormatter, |
|||
M: relativeTimeFormatter, |
|||
MM: relativeTimeFormatter, |
|||
y: relativeTimeFormatter, |
|||
yy: relativeTimeFormatter |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,39 @@ |
|||
// Maldivian [dv]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'dv', |
|||
weekdays: 'އާދިއްތަ_ހޯމަ_އަންގާރަ_ބުދަ_ބުރާސްފަތި_ހުކުރު_ހޮނިހިރު'.split('_'), |
|||
months: 'ޖެނުއަރީ_ފެބްރުއަރީ_މާރިޗު_އޭޕްރީލު_މޭ_ޖޫން_ޖުލައި_އޯގަސްޓު_ސެޕްޓެމްބަރު_އޮކްޓޯބަރު_ނޮވެމްބަރު_ޑިސެމްބަރު'.split('_'), |
|||
weekStart: 7, |
|||
weekdaysShort: 'އާދިއްތަ_ހޯމަ_އަންގާރަ_ބުދަ_ބުރާސްފަތި_ހުކުރު_ހޮނިހިރު'.split('_'), |
|||
monthsShort: 'ޖެނުއަރީ_ފެބްރުއަރީ_މާރިޗު_އޭޕްރީލު_މޭ_ޖޫން_ޖުލައި_އޯގަސްޓު_ސެޕްޓެމްބަރު_އޮކްޓޯބަރު_ނޮވެމްބަރު_ޑިސެމްބަރު'.split('_'), |
|||
weekdaysMin: 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'), |
|||
ordinal: function ordinal(n) { |
|||
return n; |
|||
}, |
|||
formats: { |
|||
LT: 'HH:mm', |
|||
LTS: 'HH:mm:ss', |
|||
L: 'D/M/YYYY', |
|||
LL: 'D MMMM YYYY', |
|||
LLL: 'D MMMM YYYY HH:mm', |
|||
LLLL: 'dddd D MMMM YYYY HH:mm' |
|||
}, |
|||
relativeTime: { |
|||
future: 'ތެރޭގައި %s', |
|||
past: 'ކުރިން %s', |
|||
s: 'ސިކުންތުކޮޅެއް', |
|||
m: 'މިނިޓެއް', |
|||
mm: 'މިނިޓު %d', |
|||
h: 'ގަޑިއިރެއް', |
|||
hh: 'ގަޑިއިރު %d', |
|||
d: 'ދުވަހެއް', |
|||
dd: 'ދުވަސް %d', |
|||
M: 'މަހެއް', |
|||
MM: 'މަސް %d', |
|||
y: 'އަހަރެއް', |
|||
yy: 'އަހަރު %d' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,39 @@ |
|||
// Greek [el]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'el', |
|||
weekdays: 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split('_'), |
|||
weekdaysShort: 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'), |
|||
weekdaysMin: 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'), |
|||
months: 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split('_'), |
|||
monthsShort: 'Ιαν_Φεβ_Μαρ_Απρ_Μαι_Ιουν_Ιουλ_Αυγ_Σεπτ_Οκτ_Νοε_Δεκ'.split('_'), |
|||
ordinal: function ordinal(n) { |
|||
return n; |
|||
}, |
|||
weekStart: 1, |
|||
relativeTime: { |
|||
future: 'σε %s', |
|||
past: 'πριν %s', |
|||
s: 'μερικά δευτερόλεπτα', |
|||
m: 'ένα λεπτό', |
|||
mm: '%d λεπτά', |
|||
h: 'μία ώρα', |
|||
hh: '%d ώρες', |
|||
d: 'μία μέρα', |
|||
dd: '%d μέρες', |
|||
M: 'ένα μήνα', |
|||
MM: '%d μήνες', |
|||
y: 'ένα χρόνο', |
|||
yy: '%d χρόνια' |
|||
}, |
|||
formats: { |
|||
LT: 'h:mm A', |
|||
LTS: 'h:mm:ss A', |
|||
L: 'DD/MM/YYYY', |
|||
LL: 'D MMMM YYYY', |
|||
LLL: 'D MMMM YYYY h:mm A', |
|||
LLLL: 'dddd, D MMMM YYYY h:mm A' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,39 @@ |
|||
// English (Australia) [en-au]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'en-au', |
|||
weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), |
|||
months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), |
|||
weekStart: 1, |
|||
weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), |
|||
monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), |
|||
weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), |
|||
ordinal: function ordinal(n) { |
|||
return n; |
|||
}, |
|||
formats: { |
|||
LT: 'h:mm A', |
|||
LTS: 'h:mm:ss A', |
|||
L: 'DD/MM/YYYY', |
|||
LL: 'D MMMM YYYY', |
|||
LLL: 'D MMMM YYYY h:mm A', |
|||
LLLL: 'dddd, D MMMM YYYY h:mm A' |
|||
}, |
|||
relativeTime: { |
|||
future: 'in %s', |
|||
past: '%s ago', |
|||
s: 'a few seconds', |
|||
m: 'a minute', |
|||
mm: '%d minutes', |
|||
h: 'an hour', |
|||
hh: '%d hours', |
|||
d: 'a day', |
|||
dd: '%d days', |
|||
M: 'a month', |
|||
MM: '%d months', |
|||
y: 'a year', |
|||
yy: '%d years' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,38 @@ |
|||
// English (Canada) [en-ca]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'en-ca', |
|||
weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), |
|||
months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), |
|||
weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), |
|||
monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), |
|||
weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), |
|||
ordinal: function ordinal(n) { |
|||
return n; |
|||
}, |
|||
formats: { |
|||
LT: 'h:mm A', |
|||
LTS: 'h:mm:ss A', |
|||
L: 'YYYY-MM-DD', |
|||
LL: 'MMMM D, YYYY', |
|||
LLL: 'MMMM D, YYYY h:mm A', |
|||
LLLL: 'dddd, MMMM D, YYYY h:mm A' |
|||
}, |
|||
relativeTime: { |
|||
future: 'in %s', |
|||
past: '%s ago', |
|||
s: 'a few seconds', |
|||
m: 'a minute', |
|||
mm: '%d minutes', |
|||
h: 'an hour', |
|||
hh: '%d hours', |
|||
d: 'a day', |
|||
dd: '%d days', |
|||
M: 'a month', |
|||
MM: '%d months', |
|||
y: 'a year', |
|||
yy: '%d years' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,42 @@ |
|||
// English (United Kingdom) [en-gb]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'en-gb', |
|||
weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), |
|||
weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), |
|||
weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), |
|||
months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), |
|||
monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), |
|||
weekStart: 1, |
|||
yearStart: 4, |
|||
relativeTime: { |
|||
future: 'in %s', |
|||
past: '%s ago', |
|||
s: 'a few seconds', |
|||
m: 'a minute', |
|||
mm: '%d minutes', |
|||
h: 'an hour', |
|||
hh: '%d hours', |
|||
d: 'a day', |
|||
dd: '%d days', |
|||
M: 'a month', |
|||
MM: '%d months', |
|||
y: 'a year', |
|||
yy: '%d years' |
|||
}, |
|||
formats: { |
|||
LT: 'HH:mm', |
|||
LTS: 'HH:mm:ss', |
|||
L: 'DD/MM/YYYY', |
|||
LL: 'D MMMM YYYY', |
|||
LLL: 'D MMMM YYYY HH:mm', |
|||
LLLL: 'dddd, D MMMM YYYY HH:mm' |
|||
}, |
|||
ordinal: function ordinal(n) { |
|||
var s = ['th', 'st', 'nd', 'rd']; |
|||
var v = n % 100; |
|||
return "[" + n + (s[(v - 20) % 10] || s[v] || s[0]) + "]"; |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,39 @@ |
|||
// English (Ireland) [en-ie]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'en-ie', |
|||
weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), |
|||
months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), |
|||
weekStart: 1, |
|||
weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), |
|||
monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), |
|||
weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), |
|||
ordinal: function ordinal(n) { |
|||
return n; |
|||
}, |
|||
formats: { |
|||
LT: 'HH:mm', |
|||
LTS: 'HH:mm:ss', |
|||
L: 'DD/MM/YYYY', |
|||
LL: 'D MMMM YYYY', |
|||
LLL: 'D MMMM YYYY HH:mm', |
|||
LLLL: 'dddd D MMMM YYYY HH:mm' |
|||
}, |
|||
relativeTime: { |
|||
future: 'in %s', |
|||
past: '%s ago', |
|||
s: 'a few seconds', |
|||
m: 'a minute', |
|||
mm: '%d minutes', |
|||
h: 'an hour', |
|||
hh: '%d hours', |
|||
d: 'a day', |
|||
dd: '%d days', |
|||
M: 'a month', |
|||
MM: '%d months', |
|||
y: 'a year', |
|||
yy: '%d years' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,38 @@ |
|||
// English (Israel) [en-il]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'en-il', |
|||
weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), |
|||
months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), |
|||
weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), |
|||
monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), |
|||
weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), |
|||
ordinal: function ordinal(n) { |
|||
return n; |
|||
}, |
|||
formats: { |
|||
LT: 'HH:mm', |
|||
LTS: 'HH:mm:ss', |
|||
L: 'DD/MM/YYYY', |
|||
LL: 'D MMMM YYYY', |
|||
LLL: 'D MMMM YYYY HH:mm', |
|||
LLLL: 'dddd, D MMMM YYYY HH:mm' |
|||
}, |
|||
relativeTime: { |
|||
future: 'in %s', |
|||
past: '%s ago', |
|||
s: 'a few seconds', |
|||
m: 'a minute', |
|||
mm: '%d minutes', |
|||
h: 'an hour', |
|||
hh: '%d hours', |
|||
d: 'a day', |
|||
dd: '%d days', |
|||
M: 'a month', |
|||
MM: '%d months', |
|||
y: 'a year', |
|||
yy: '%d years' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,42 @@ |
|||
// English (India) [en-in]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'en-in', |
|||
weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), |
|||
weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), |
|||
weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), |
|||
months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), |
|||
monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), |
|||
weekStart: 1, |
|||
yearStart: 4, |
|||
relativeTime: { |
|||
future: 'in %s', |
|||
past: '%s ago', |
|||
s: 'a few seconds', |
|||
m: 'a minute', |
|||
mm: '%d minutes', |
|||
h: 'an hour', |
|||
hh: '%d hours', |
|||
d: 'a day', |
|||
dd: '%d days', |
|||
M: 'a month', |
|||
MM: '%d months', |
|||
y: 'a year', |
|||
yy: '%d years' |
|||
}, |
|||
formats: { |
|||
LT: 'HH:mm', |
|||
LTS: 'HH:mm:ss', |
|||
L: 'DD/MM/YYYY', |
|||
LL: 'D MMMM YYYY', |
|||
LLL: 'D MMMM YYYY HH:mm', |
|||
LLLL: 'dddd, D MMMM YYYY HH:mm' |
|||
}, |
|||
ordinal: function ordinal(n) { |
|||
var s = ['th', 'st', 'nd', 'rd']; |
|||
var v = n % 100; |
|||
return "[" + n + (s[(v - 20) % 10] || s[v] || s[0]) + "]"; |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,41 @@ |
|||
// English (New Zealand) [en-nz]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'en-nz', |
|||
weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), |
|||
months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), |
|||
weekStart: 1, |
|||
weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), |
|||
monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), |
|||
weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), |
|||
ordinal: function ordinal(n) { |
|||
var s = ['th', 'st', 'nd', 'rd']; |
|||
var v = n % 100; |
|||
return "[" + n + (s[(v - 20) % 10] || s[v] || s[0]) + "]"; |
|||
}, |
|||
formats: { |
|||
LT: 'h:mm A', |
|||
LTS: 'h:mm:ss A', |
|||
L: 'DD/MM/YYYY', |
|||
LL: 'D MMMM YYYY', |
|||
LLL: 'D MMMM YYYY h:mm A', |
|||
LLLL: 'dddd, D MMMM YYYY h:mm A' |
|||
}, |
|||
relativeTime: { |
|||
future: 'in %s', |
|||
past: '%s ago', |
|||
s: 'a few seconds', |
|||
m: 'a minute', |
|||
mm: '%d minutes', |
|||
h: 'an hour', |
|||
hh: '%d hours', |
|||
d: 'a day', |
|||
dd: '%d days', |
|||
M: 'a month', |
|||
MM: '%d months', |
|||
y: 'a year', |
|||
yy: '%d years' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,39 @@ |
|||
// English (Singapore) [en-sg]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'en-sg', |
|||
weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), |
|||
months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), |
|||
weekStart: 1, |
|||
weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), |
|||
monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), |
|||
weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), |
|||
ordinal: function ordinal(n) { |
|||
return n; |
|||
}, |
|||
formats: { |
|||
LT: 'HH:mm', |
|||
LTS: 'HH:mm:ss', |
|||
L: 'DD/MM/YYYY', |
|||
LL: 'D MMMM YYYY', |
|||
LLL: 'D MMMM YYYY HH:mm', |
|||
LLLL: 'dddd, D MMMM YYYY HH:mm' |
|||
}, |
|||
relativeTime: { |
|||
future: 'in %s', |
|||
past: '%s ago', |
|||
s: 'a few seconds', |
|||
m: 'a minute', |
|||
mm: '%d minutes', |
|||
h: 'an hour', |
|||
hh: '%d hours', |
|||
d: 'a day', |
|||
dd: '%d days', |
|||
M: 'a month', |
|||
MM: '%d months', |
|||
y: 'a year', |
|||
yy: '%d years' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,42 @@ |
|||
// English (Trinidad & Tobago) [en-tt]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'en-tt', |
|||
weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), |
|||
weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), |
|||
weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), |
|||
months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), |
|||
monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), |
|||
weekStart: 1, |
|||
yearStart: 4, |
|||
relativeTime: { |
|||
future: 'in %s', |
|||
past: '%s ago', |
|||
s: 'a few seconds', |
|||
m: 'a minute', |
|||
mm: '%d minutes', |
|||
h: 'an hour', |
|||
hh: '%d hours', |
|||
d: 'a day', |
|||
dd: '%d days', |
|||
M: 'a month', |
|||
MM: '%d months', |
|||
y: 'a year', |
|||
yy: '%d years' |
|||
}, |
|||
formats: { |
|||
LT: 'HH:mm', |
|||
LTS: 'HH:mm:ss', |
|||
L: 'DD/MM/YYYY', |
|||
LL: 'D MMMM YYYY', |
|||
LLL: 'D MMMM YYYY HH:mm', |
|||
LLLL: 'dddd, D MMMM YYYY HH:mm' |
|||
}, |
|||
ordinal: function ordinal(n) { |
|||
var s = ['th', 'st', 'nd', 'rd']; |
|||
var v = n % 100; |
|||
return "[" + n + (s[(v - 20) % 10] || s[v] || s[0]) + "]"; |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,7 @@ |
|||
// English [en]
|
|||
// We don't need weekdaysShort, weekdaysMin, monthsShort in en.js locale
|
|||
export default { |
|||
name: 'en', |
|||
weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), |
|||
months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_') |
|||
}; |
@ -0,0 +1,39 @@ |
|||
// Esperanto [eo]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'eo', |
|||
weekdays: 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'), |
|||
months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split('_'), |
|||
weekStart: 1, |
|||
weekdaysShort: 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'), |
|||
monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec'.split('_'), |
|||
weekdaysMin: 'di_lu_ma_me_ĵa_ve_sa'.split('_'), |
|||
ordinal: function ordinal(n) { |
|||
return n; |
|||
}, |
|||
formats: { |
|||
LT: 'HH:mm', |
|||
LTS: 'HH:mm:ss', |
|||
L: 'YYYY-MM-DD', |
|||
LL: 'D[-a de] MMMM, YYYY', |
|||
LLL: 'D[-a de] MMMM, YYYY HH:mm', |
|||
LLLL: 'dddd, [la] D[-a de] MMMM, YYYY HH:mm' |
|||
}, |
|||
relativeTime: { |
|||
future: 'post %s', |
|||
past: 'antaŭ %s', |
|||
s: 'sekundoj', |
|||
m: 'minuto', |
|||
mm: '%d minutoj', |
|||
h: 'horo', |
|||
hh: '%d horoj', |
|||
d: 'tago', |
|||
dd: '%d tagoj', |
|||
M: 'monato', |
|||
MM: '%d monatoj', |
|||
y: 'jaro', |
|||
yy: '%d jaroj' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,39 @@ |
|||
// Spanish (Dominican Republic) [es-do]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'es-do', |
|||
weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), |
|||
weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), |
|||
weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), |
|||
months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'), |
|||
monthsShort: 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), |
|||
weekStart: 1, |
|||
relativeTime: { |
|||
future: 'en %s', |
|||
past: 'hace %s', |
|||
s: 'unos segundos', |
|||
m: 'un minuto', |
|||
mm: '%d minutos', |
|||
h: 'una hora', |
|||
hh: '%d horas', |
|||
d: 'un día', |
|||
dd: '%d días', |
|||
M: 'un mes', |
|||
MM: '%d meses', |
|||
y: 'un año', |
|||
yy: '%d años' |
|||
}, |
|||
ordinal: function ordinal(n) { |
|||
return n + "\xBA"; |
|||
}, |
|||
formats: { |
|||
LT: 'h:mm A', |
|||
LTS: 'h:mm:ss A', |
|||
L: 'DD/MM/YYYY', |
|||
LL: 'D [de] MMMM [de] YYYY', |
|||
LLL: 'D [de] MMMM [de] YYYY h:mm A', |
|||
LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,38 @@ |
|||
// Spanish (Mexico) [es-mx]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'es-mx', |
|||
weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), |
|||
weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), |
|||
weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), |
|||
months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'), |
|||
monthsShort: 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), |
|||
relativeTime: { |
|||
future: 'en %s', |
|||
past: 'hace %s', |
|||
s: 'unos segundos', |
|||
m: 'un minuto', |
|||
mm: '%d minutos', |
|||
h: 'una hora', |
|||
hh: '%d horas', |
|||
d: 'un día', |
|||
dd: '%d días', |
|||
M: 'un mes', |
|||
MM: '%d meses', |
|||
y: 'un año', |
|||
yy: '%d años' |
|||
}, |
|||
ordinal: function ordinal(n) { |
|||
return n + "\xBA"; |
|||
}, |
|||
formats: { |
|||
LT: 'H:mm', |
|||
LTS: 'H:mm:ss', |
|||
L: 'DD/MM/YYYY', |
|||
LL: 'D [de] MMMM [de] YYYY', |
|||
LLL: 'D [de] MMMM [de] YYYY H:mm', |
|||
LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,39 @@ |
|||
// Spanish (Puerto Rico) [es-PR]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'es-pr', |
|||
monthsShort: 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), |
|||
weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), |
|||
weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), |
|||
weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), |
|||
months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'), |
|||
weekStart: 1, |
|||
formats: { |
|||
LT: 'h:mm A', |
|||
LTS: 'h:mm:ss A', |
|||
L: 'MM/DD/YYYY', |
|||
LL: 'D [de] MMMM [de] YYYY', |
|||
LLL: 'D [de] MMMM [de] YYYY h:mm A', |
|||
LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A' |
|||
}, |
|||
relativeTime: { |
|||
future: 'en %s', |
|||
past: 'hace %s', |
|||
s: 'unos segundos', |
|||
m: 'un minuto', |
|||
mm: '%d minutos', |
|||
h: 'una hora', |
|||
hh: '%d horas', |
|||
d: 'un día', |
|||
dd: '%d días', |
|||
M: 'un mes', |
|||
MM: '%d meses', |
|||
y: 'un año', |
|||
yy: '%d años' |
|||
}, |
|||
ordinal: function ordinal(n) { |
|||
return n + "\xBA"; |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,38 @@ |
|||
// Spanish (United States) [es-us]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'es-us', |
|||
weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), |
|||
weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), |
|||
weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), |
|||
months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'), |
|||
monthsShort: 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), |
|||
relativeTime: { |
|||
future: 'en %s', |
|||
past: 'hace %s', |
|||
s: 'unos segundos', |
|||
m: 'un minuto', |
|||
mm: '%d minutos', |
|||
h: 'una hora', |
|||
hh: '%d horas', |
|||
d: 'un día', |
|||
dd: '%d días', |
|||
M: 'un mes', |
|||
MM: '%d meses', |
|||
y: 'un año', |
|||
yy: '%d años' |
|||
}, |
|||
ordinal: function ordinal(n) { |
|||
return n + "\xBA"; |
|||
}, |
|||
formats: { |
|||
LT: 'h:mm A', |
|||
LTS: 'h:mm:ss A', |
|||
L: 'MM/DD/YYYY', |
|||
LL: 'D [de] MMMM [de] YYYY', |
|||
LLL: 'D [de] MMMM [de] YYYY h:mm A', |
|||
LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,39 @@ |
|||
// Spanish [es]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'es', |
|||
monthsShort: 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), |
|||
weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), |
|||
weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), |
|||
weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'), |
|||
months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'), |
|||
weekStart: 1, |
|||
formats: { |
|||
LT: 'H:mm', |
|||
LTS: 'H:mm:ss', |
|||
L: 'DD/MM/YYYY', |
|||
LL: 'D [de] MMMM [de] YYYY', |
|||
LLL: 'D [de] MMMM [de] YYYY H:mm', |
|||
LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm' |
|||
}, |
|||
relativeTime: { |
|||
future: 'en %s', |
|||
past: 'hace %s', |
|||
s: 'unos segundos', |
|||
m: 'un minuto', |
|||
mm: '%d minutos', |
|||
h: 'una hora', |
|||
hh: '%d horas', |
|||
d: 'un día', |
|||
dd: '%d días', |
|||
M: 'un mes', |
|||
MM: '%d meses', |
|||
y: 'un año', |
|||
yy: '%d años' |
|||
}, |
|||
ordinal: function ordinal(n) { |
|||
return n + "\xBA"; |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,65 @@ |
|||
// Estonian [et]
|
|||
import dayjs from '../index'; |
|||
|
|||
function relativeTimeWithTense(number, withoutSuffix, key, isFuture) { |
|||
var format = { |
|||
s: ['mõne sekundi', 'mõni sekund', 'paar sekundit'], |
|||
m: ['ühe minuti', 'üks minut'], |
|||
mm: ['%d minuti', '%d minutit'], |
|||
h: ['ühe tunni', 'tund aega', 'üks tund'], |
|||
hh: ['%d tunni', '%d tundi'], |
|||
d: ['ühe päeva', 'üks päev'], |
|||
M: ['kuu aja', 'kuu aega', 'üks kuu'], |
|||
MM: ['%d kuu', '%d kuud'], |
|||
y: ['ühe aasta', 'aasta', 'üks aasta'], |
|||
yy: ['%d aasta', '%d aastat'] |
|||
}; |
|||
|
|||
if (withoutSuffix) { |
|||
return (format[key][2] ? format[key][2] : format[key][1]).replace('%d', number); |
|||
} |
|||
|
|||
return (isFuture ? format[key][0] : format[key][1]).replace('%d', number); |
|||
} |
|||
|
|||
var locale = { |
|||
name: 'et', |
|||
// Estonian
|
|||
weekdays: 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split('_'), |
|||
// Note weekdays are not capitalized in Estonian
|
|||
weekdaysShort: 'P_E_T_K_N_R_L'.split('_'), |
|||
// There is no short form of weekdays in Estonian except this 1 letter format so it is used for both 'weekdaysShort' and 'weekdaysMin'
|
|||
weekdaysMin: 'P_E_T_K_N_R_L'.split('_'), |
|||
months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split('_'), |
|||
// Note month names are not capitalized in Estonian
|
|||
monthsShort: 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'), |
|||
ordinal: function ordinal(n) { |
|||
return n + "."; |
|||
}, |
|||
weekStart: 1, |
|||
relativeTime: { |
|||
future: '%s pärast', |
|||
past: '%s tagasi', |
|||
s: relativeTimeWithTense, |
|||
m: relativeTimeWithTense, |
|||
mm: relativeTimeWithTense, |
|||
h: relativeTimeWithTense, |
|||
hh: relativeTimeWithTense, |
|||
d: relativeTimeWithTense, |
|||
dd: '%d päeva', |
|||
M: relativeTimeWithTense, |
|||
MM: relativeTimeWithTense, |
|||
y: relativeTimeWithTense, |
|||
yy: relativeTimeWithTense |
|||
}, |
|||
formats: { |
|||
LT: 'H:mm', |
|||
LTS: 'H:mm:ss', |
|||
L: 'DD.MM.YYYY', |
|||
LL: 'D. MMMM YYYY', |
|||
LLL: 'D. MMMM YYYY H:mm', |
|||
LLLL: 'dddd, D. MMMM YYYY H:mm' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,43 @@ |
|||
// Basque [eu]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'eu', |
|||
weekdays: 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split('_'), |
|||
months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split('_'), |
|||
weekStart: 1, |
|||
weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'), |
|||
monthsShort: 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split('_'), |
|||
weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'), |
|||
ordinal: function ordinal(n) { |
|||
return n; |
|||
}, |
|||
formats: { |
|||
LT: 'HH:mm', |
|||
LTS: 'HH:mm:ss', |
|||
L: 'YYYY-MM-DD', |
|||
LL: 'YYYY[ko] MMMM[ren] D[a]', |
|||
LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm', |
|||
LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm', |
|||
l: 'YYYY-M-D', |
|||
ll: 'YYYY[ko] MMM D[a]', |
|||
lll: 'YYYY[ko] MMM D[a] HH:mm', |
|||
llll: 'ddd, YYYY[ko] MMM D[a] HH:mm' |
|||
}, |
|||
relativeTime: { |
|||
future: '%s barru', |
|||
past: 'duela %s', |
|||
s: 'segundo batzuk', |
|||
m: 'minutu bat', |
|||
mm: '%d minutu', |
|||
h: 'ordu bat', |
|||
hh: '%d ordu', |
|||
d: 'egun bat', |
|||
dd: '%d egun', |
|||
M: 'hilabete bat', |
|||
MM: '%d hilabete', |
|||
y: 'urte bat', |
|||
yy: '%d urte' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,39 @@ |
|||
// Persian [fa]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'fa', |
|||
weekdays: 'یکشنبه_دوشنبه_سهشنبه_چهارشنبه_پنجشنبه_جمعه_شنبه'.split('_'), |
|||
weekdaysShort: "\u06CC\u06A9\u200C\u0634\u0646\u0628\u0647_\u062F\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200C\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067E\u0646\u062C\u200C\u0634\u0646\u0628\u0647_\u062C\u0645\u0639\u0647_\u0634\u0646\u0628\u0647".split('_'), |
|||
weekdaysMin: 'ی_د_س_چ_پ_ج_ش'.split('_'), |
|||
weekStart: 6, |
|||
months: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'), |
|||
monthsShort: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'), |
|||
ordinal: function ordinal(n) { |
|||
return n; |
|||
}, |
|||
formats: { |
|||
LT: 'HH:mm', |
|||
LTS: 'HH:mm:ss', |
|||
L: 'DD/MM/YYYY', |
|||
LL: 'D MMMM YYYY', |
|||
LLL: 'D MMMM YYYY HH:mm', |
|||
LLLL: 'dddd, D MMMM YYYY HH:mm' |
|||
}, |
|||
relativeTime: { |
|||
future: 'در %s', |
|||
past: '%s پیش', |
|||
s: 'چند ثانیه', |
|||
m: 'یک دقیقه', |
|||
mm: '%d دقیقه', |
|||
h: 'یک ساعت', |
|||
hh: '%d ساعت', |
|||
d: 'یک روز', |
|||
dd: '%d روز', |
|||
M: 'یک ماه', |
|||
MM: '%d ماه', |
|||
y: 'یک سال', |
|||
yy: '%d سال' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,88 @@ |
|||
// Finnish [fi]
|
|||
import dayjs from '../index'; |
|||
|
|||
function relativeTimeFormatter(number, withoutSuffix, key, isFuture) { |
|||
var past = { |
|||
s: 'muutama sekunti', |
|||
m: 'minuutti', |
|||
mm: '%d minuuttia', |
|||
h: 'tunti', |
|||
hh: '%d tuntia', |
|||
d: 'päivä', |
|||
dd: '%d päivää', |
|||
M: 'kuukausi', |
|||
MM: '%d kuukautta', |
|||
y: 'vuosi', |
|||
yy: '%d vuotta', |
|||
numbers: 'nolla_yksi_kaksi_kolme_neljä_viisi_kuusi_seitsemän_kahdeksan_yhdeksän'.split('_') |
|||
}; |
|||
var future = { |
|||
s: 'muutaman sekunnin', |
|||
m: 'minuutin', |
|||
mm: '%d minuutin', |
|||
h: 'tunnin', |
|||
hh: '%d tunnin', |
|||
d: 'päivän', |
|||
dd: '%d päivän', |
|||
M: 'kuukauden', |
|||
MM: '%d kuukauden', |
|||
y: 'vuoden', |
|||
yy: '%d vuoden', |
|||
numbers: 'nollan_yhden_kahden_kolmen_neljän_viiden_kuuden_seitsemän_kahdeksan_yhdeksän'.split('_') |
|||
}; |
|||
var words = isFuture && !withoutSuffix ? future : past; |
|||
var result = words[key]; |
|||
|
|||
if (number < 10) { |
|||
return result.replace('%d', words.numbers[number]); |
|||
} |
|||
|
|||
return result.replace('%d', number); |
|||
} |
|||
|
|||
var locale = { |
|||
name: 'fi', |
|||
// Finnish
|
|||
weekdays: 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split('_'), |
|||
// Note weekdays are not capitalized in Finnish
|
|||
weekdaysShort: 'su_ma_ti_ke_to_pe_la'.split('_'), |
|||
// There is no short form of weekdays in Finnish except this 2 letter format so it is used for both 'weekdaysShort' and 'weekdaysMin'
|
|||
weekdaysMin: 'su_ma_ti_ke_to_pe_la'.split('_'), |
|||
months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split('_'), |
|||
// Note month names are not capitalized in Finnish
|
|||
monthsShort: 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split('_'), |
|||
ordinal: function ordinal(n) { |
|||
return n + "."; |
|||
}, |
|||
weekStart: 1, |
|||
yearStart: 4, |
|||
relativeTime: { |
|||
future: '%s päästä', |
|||
past: '%s sitten', |
|||
s: relativeTimeFormatter, |
|||
m: relativeTimeFormatter, |
|||
mm: relativeTimeFormatter, |
|||
h: relativeTimeFormatter, |
|||
hh: relativeTimeFormatter, |
|||
d: relativeTimeFormatter, |
|||
dd: relativeTimeFormatter, |
|||
M: relativeTimeFormatter, |
|||
MM: relativeTimeFormatter, |
|||
y: relativeTimeFormatter, |
|||
yy: relativeTimeFormatter |
|||
}, |
|||
formats: { |
|||
LT: 'HH.mm', |
|||
LTS: 'HH.mm.ss', |
|||
L: 'DD.MM.YYYY', |
|||
LL: 'D. MMMM[ta] YYYY', |
|||
LLL: 'D. MMMM[ta] YYYY, [klo] HH.mm', |
|||
LLLL: 'dddd, D. MMMM[ta] YYYY, [klo] HH.mm', |
|||
l: 'D.M.YYYY', |
|||
ll: 'D. MMM YYYY', |
|||
lll: 'D. MMM YYYY, [klo] HH.mm', |
|||
llll: 'ddd, D. MMM YYYY, [klo] HH.mm' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,39 @@ |
|||
// Faroese [fo]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'fo', |
|||
weekdays: 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split('_'), |
|||
months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split('_'), |
|||
weekStart: 1, |
|||
weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'), |
|||
monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'), |
|||
weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'), |
|||
ordinal: function ordinal(n) { |
|||
return n; |
|||
}, |
|||
formats: { |
|||
LT: 'HH:mm', |
|||
LTS: 'HH:mm:ss', |
|||
L: 'DD/MM/YYYY', |
|||
LL: 'D MMMM YYYY', |
|||
LLL: 'D MMMM YYYY HH:mm', |
|||
LLLL: 'dddd D. MMMM, YYYY HH:mm' |
|||
}, |
|||
relativeTime: { |
|||
future: 'um %s', |
|||
past: '%s síðani', |
|||
s: 'fá sekund', |
|||
m: 'ein minuttur', |
|||
mm: '%d minuttir', |
|||
h: 'ein tími', |
|||
hh: '%d tímar', |
|||
d: 'ein dagur', |
|||
dd: '%d dagar', |
|||
M: 'ein mánaður', |
|||
MM: '%d mánaðir', |
|||
y: 'eitt ár', |
|||
yy: '%d ár' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,38 @@ |
|||
// French (Canada) [fr-ca]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'fr-ca', |
|||
weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), |
|||
months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'), |
|||
weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), |
|||
monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'), |
|||
weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'), |
|||
ordinal: function ordinal(n) { |
|||
return n; |
|||
}, |
|||
formats: { |
|||
LT: 'HH:mm', |
|||
LTS: 'HH:mm:ss', |
|||
L: 'YYYY-MM-DD', |
|||
LL: 'D MMMM YYYY', |
|||
LLL: 'D MMMM YYYY HH:mm', |
|||
LLLL: 'dddd D MMMM YYYY HH:mm' |
|||
}, |
|||
relativeTime: { |
|||
future: 'dans %s', |
|||
past: 'il y a %s', |
|||
s: 'quelques secondes', |
|||
m: 'une minute', |
|||
mm: '%d minutes', |
|||
h: 'une heure', |
|||
hh: '%d heures', |
|||
d: 'un jour', |
|||
dd: '%d jours', |
|||
M: 'un mois', |
|||
MM: '%d mois', |
|||
y: 'un an', |
|||
yy: '%d ans' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,39 @@ |
|||
// French (Switzerland) [fr-ch]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'fr-ch', |
|||
weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), |
|||
months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'), |
|||
weekStart: 1, |
|||
weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), |
|||
monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'), |
|||
weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'), |
|||
ordinal: function ordinal(n) { |
|||
return n; |
|||
}, |
|||
formats: { |
|||
LT: 'HH:mm', |
|||
LTS: 'HH:mm:ss', |
|||
L: 'DD.MM.YYYY', |
|||
LL: 'D MMMM YYYY', |
|||
LLL: 'D MMMM YYYY HH:mm', |
|||
LLLL: 'dddd D MMMM YYYY HH:mm' |
|||
}, |
|||
relativeTime: { |
|||
future: 'dans %s', |
|||
past: 'il y a %s', |
|||
s: 'quelques secondes', |
|||
m: 'une minute', |
|||
mm: '%d minutes', |
|||
h: 'une heure', |
|||
hh: '%d heures', |
|||
d: 'un jour', |
|||
dd: '%d jours', |
|||
M: 'un mois', |
|||
MM: '%d mois', |
|||
y: 'un an', |
|||
yy: '%d ans' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,41 @@ |
|||
// French [fr]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'fr', |
|||
weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), |
|||
weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), |
|||
weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'), |
|||
months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'), |
|||
monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'), |
|||
weekStart: 1, |
|||
yearStart: 4, |
|||
formats: { |
|||
LT: 'HH:mm', |
|||
LTS: 'HH:mm:ss', |
|||
L: 'DD/MM/YYYY', |
|||
LL: 'D MMMM YYYY', |
|||
LLL: 'D MMMM YYYY HH:mm', |
|||
LLLL: 'dddd D MMMM YYYY HH:mm' |
|||
}, |
|||
relativeTime: { |
|||
future: 'dans %s', |
|||
past: 'il y a %s', |
|||
s: 'quelques secondes', |
|||
m: 'une minute', |
|||
mm: '%d minutes', |
|||
h: 'une heure', |
|||
hh: '%d heures', |
|||
d: 'un jour', |
|||
dd: '%d jours', |
|||
M: 'un mois', |
|||
MM: '%d mois', |
|||
y: 'un an', |
|||
yy: '%d ans' |
|||
}, |
|||
ordinal: function ordinal(n) { |
|||
var o = n === 1 ? 'er' : ''; |
|||
return "" + n + o; |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,39 @@ |
|||
// Frisian [fy]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'fy', |
|||
weekdays: 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split('_'), |
|||
months: 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split('_'), |
|||
monthsShort: 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'), |
|||
weekStart: 1, |
|||
weekdaysShort: 'si._mo._ti._wo._to._fr._so.'.split('_'), |
|||
weekdaysMin: 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'), |
|||
ordinal: function ordinal(n) { |
|||
return n; |
|||
}, |
|||
formats: { |
|||
LT: 'HH:mm', |
|||
LTS: 'HH:mm:ss', |
|||
L: 'DD-MM-YYYY', |
|||
LL: 'D MMMM YYYY', |
|||
LLL: 'D MMMM YYYY HH:mm', |
|||
LLLL: 'dddd D MMMM YYYY HH:mm' |
|||
}, |
|||
relativeTime: { |
|||
future: 'oer %s', |
|||
past: '%s lyn', |
|||
s: 'in pear sekonden', |
|||
m: 'ien minút', |
|||
mm: '%d minuten', |
|||
h: 'ien oere', |
|||
hh: '%d oeren', |
|||
d: 'ien dei', |
|||
dd: '%d dagen', |
|||
M: 'ien moanne', |
|||
MM: '%d moannen', |
|||
y: 'ien jier', |
|||
yy: '%d jierren' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,39 @@ |
|||
// Irish or Irish Gaelic [ga]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'ga', |
|||
weekdays: 'Dé Domhnaigh_Dé Luain_Dé Máirt_Dé Céadaoin_Déardaoin_Dé hAoine_Dé Satharn'.split('_'), |
|||
months: 'Eanáir_Feabhra_Márta_Aibreán_Bealtaine_Méitheamh_Iúil_Lúnasa_Meán Fómhair_Deaireadh Fómhair_Samhain_Nollaig'.split('_'), |
|||
weekStart: 1, |
|||
weekdaysShort: 'Dom_Lua_Mái_Céa_Déa_hAo_Sat'.split('_'), |
|||
monthsShort: 'Eaná_Feab_Márt_Aibr_Beal_Méit_Iúil_Lúna_Meán_Deai_Samh_Noll'.split('_'), |
|||
weekdaysMin: 'Do_Lu_Má_Ce_Dé_hA_Sa'.split('_'), |
|||
ordinal: function ordinal(n) { |
|||
return n; |
|||
}, |
|||
formats: { |
|||
LT: 'HH:mm', |
|||
LTS: 'HH:mm:ss', |
|||
L: 'DD/MM/YYYY', |
|||
LL: 'D MMMM YYYY', |
|||
LLL: 'D MMMM YYYY HH:mm', |
|||
LLLL: 'dddd, D MMMM YYYY HH:mm' |
|||
}, |
|||
relativeTime: { |
|||
future: 'i %s', |
|||
past: '%s ó shin', |
|||
s: 'cúpla soicind', |
|||
m: 'nóiméad', |
|||
mm: '%d nóiméad', |
|||
h: 'uair an chloig', |
|||
hh: '%d uair an chloig', |
|||
d: 'lá', |
|||
dd: '%d lá', |
|||
M: 'mí', |
|||
MM: '%d mí', |
|||
y: 'bliain', |
|||
yy: '%d bliain' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,39 @@ |
|||
// Scottish Gaelic [gd]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'gd', |
|||
weekdays: 'Didòmhnaich_Diluain_Dimàirt_Diciadain_Diardaoin_Dihaoine_Disathairne'.split('_'), |
|||
months: 'Am Faoilleach_An Gearran_Am Màrt_An Giblean_An Cèitean_An t-Ògmhios_An t-Iuchar_An Lùnastal_An t-Sultain_An Dàmhair_An t-Samhain_An Dùbhlachd'.split('_'), |
|||
weekStart: 1, |
|||
weekdaysShort: 'Did_Dil_Dim_Dic_Dia_Dih_Dis'.split('_'), |
|||
monthsShort: 'Faoi_Gear_Màrt_Gibl_Cèit_Ògmh_Iuch_Lùn_Sult_Dàmh_Samh_Dùbh'.split('_'), |
|||
weekdaysMin: 'Dò_Lu_Mà_Ci_Ar_Ha_Sa'.split('_'), |
|||
ordinal: function ordinal(n) { |
|||
return n; |
|||
}, |
|||
formats: { |
|||
LT: 'HH:mm', |
|||
LTS: 'HH:mm:ss', |
|||
L: 'DD/MM/YYYY', |
|||
LL: 'D MMMM YYYY', |
|||
LLL: 'D MMMM YYYY HH:mm', |
|||
LLLL: 'dddd, D MMMM YYYY HH:mm' |
|||
}, |
|||
relativeTime: { |
|||
future: 'ann an %s', |
|||
past: 'bho chionn %s', |
|||
s: 'beagan diogan', |
|||
m: 'mionaid', |
|||
mm: '%d mionaidean', |
|||
h: 'uair', |
|||
hh: '%d uairean', |
|||
d: 'latha', |
|||
dd: '%d latha', |
|||
M: 'mìos', |
|||
MM: '%d mìosan', |
|||
y: 'bliadhna', |
|||
yy: '%d bliadhna' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,24 @@ |
|||
// Galician [gl]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'gl', |
|||
weekdays: 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'), |
|||
months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split('_'), |
|||
weekStart: 1, |
|||
weekdaysShort: 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'), |
|||
monthsShort: 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split('_'), |
|||
weekdaysMin: 'do_lu_ma_mé_xo_ve_sá'.split('_'), |
|||
ordinal: function ordinal(n) { |
|||
return n; |
|||
}, |
|||
formats: { |
|||
LT: 'H:mm', |
|||
LTS: 'H:mm:ss', |
|||
L: 'DD/MM/YYYY', |
|||
LL: 'D [de] MMMM [de] YYYY', |
|||
LLL: 'D [de] MMMM [de] YYYY H:mm', |
|||
LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,25 @@ |
|||
// Konkani Latin script [gom-latn]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'gom-latn', |
|||
weekdays: "Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son'var".split('_'), |
|||
months: 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split('_'), |
|||
weekStart: 1, |
|||
weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'), |
|||
monthsShort: 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'), |
|||
weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'), |
|||
ordinal: function ordinal(n) { |
|||
return n; |
|||
}, |
|||
formats: { |
|||
LT: 'A h:mm [vazta]', |
|||
LTS: 'A h:mm:ss [vazta]', |
|||
L: 'DD-MM-YYYY', |
|||
LL: 'D MMMM YYYY', |
|||
LLL: 'D MMMM YYYY A h:mm [vazta]', |
|||
LLLL: 'dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]', |
|||
llll: 'ddd, D MMM YYYY, A h:mm [vazta]' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,38 @@ |
|||
// Gujarati [gu]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'gu', |
|||
weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split('_'), |
|||
months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split('_'), |
|||
weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'), |
|||
monthsShort: 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split('_'), |
|||
weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'), |
|||
ordinal: function ordinal(n) { |
|||
return n; |
|||
}, |
|||
formats: { |
|||
LT: 'A h:mm વાગ્યે', |
|||
LTS: 'A h:mm:ss વાગ્યે', |
|||
L: 'DD/MM/YYYY', |
|||
LL: 'D MMMM YYYY', |
|||
LLL: 'D MMMM YYYY, A h:mm વાગ્યે', |
|||
LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે' |
|||
}, |
|||
relativeTime: { |
|||
future: '%s મા', |
|||
past: '%s પેહલા', |
|||
s: 'અમુક પળો', |
|||
m: 'એક મિનિટ', |
|||
mm: '%d મિનિટ', |
|||
h: 'એક કલાક', |
|||
hh: '%d કલાક', |
|||
d: 'એક દિવસ', |
|||
dd: '%d દિવસ', |
|||
M: 'એક મહિનો', |
|||
MM: '%d મહિનો', |
|||
y: 'એક વર્ષ', |
|||
yy: '%d વર્ષ' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,78 @@ |
|||
// Hebrew [he]
|
|||
import dayjs from '../index'; |
|||
var texts = { |
|||
s: 'מספר שניות', |
|||
ss: '%d שניות', |
|||
m: 'דקה', |
|||
mm: '%d דקות', |
|||
h: 'שעה', |
|||
hh: '%d שעות', |
|||
hh2: 'שעתיים', |
|||
d: 'יום', |
|||
dd: '%d ימים', |
|||
dd2: 'יומיים', |
|||
M: 'חודש', |
|||
MM: '%d חודשים', |
|||
MM2: 'חודשיים', |
|||
y: 'שנה', |
|||
yy: '%d שנים', |
|||
yy2: 'שנתיים' |
|||
}; |
|||
|
|||
function relativeTimeFormatter(number, withoutSuffix, key) { |
|||
var text = texts[key + (number === 2 ? '2' : '')] || texts[key]; |
|||
return text.replace('%d', number); |
|||
} |
|||
|
|||
var locale = { |
|||
name: 'he', |
|||
weekdays: 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'), |
|||
weekdaysShort: 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'), |
|||
weekdaysMin: 'א׳_ב׳_ג׳_ד׳_ה׳_ו_ש׳'.split('_'), |
|||
months: 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split('_'), |
|||
monthsShort: 'ינו_פבר_מרץ_אפר_מאי_יונ_יול_אוג_ספט_אוק_נוב_דצמ'.split('_'), |
|||
relativeTime: { |
|||
future: 'בעוד %s', |
|||
past: 'לפני %s', |
|||
s: relativeTimeFormatter, |
|||
m: relativeTimeFormatter, |
|||
mm: relativeTimeFormatter, |
|||
h: relativeTimeFormatter, |
|||
hh: relativeTimeFormatter, |
|||
d: relativeTimeFormatter, |
|||
dd: relativeTimeFormatter, |
|||
M: relativeTimeFormatter, |
|||
MM: relativeTimeFormatter, |
|||
y: relativeTimeFormatter, |
|||
yy: relativeTimeFormatter |
|||
}, |
|||
ordinal: function ordinal(n) { |
|||
return n; |
|||
}, |
|||
format: { |
|||
LT: 'HH:mm', |
|||
LTS: 'HH:mm:ss', |
|||
L: 'DD/MM/YYYY', |
|||
LL: 'D [ב]MMMM YYYY', |
|||
LLL: 'D [ב]MMMM YYYY HH:mm', |
|||
LLLL: 'dddd, D [ב]MMMM YYYY HH:mm', |
|||
l: 'D/M/YYYY', |
|||
ll: 'D MMM YYYY', |
|||
lll: 'D MMM YYYY HH:mm', |
|||
llll: 'ddd, D MMM YYYY HH:mm' |
|||
}, |
|||
formats: { |
|||
LT: 'HH:mm', |
|||
LTS: 'HH:mm:ss', |
|||
L: 'DD/MM/YYYY', |
|||
LL: 'D [ב]MMMM YYYY', |
|||
LLL: 'D [ב]MMMM YYYY HH:mm', |
|||
LLLL: 'dddd, D [ב]MMMM YYYY HH:mm', |
|||
l: 'D/M/YYYY', |
|||
ll: 'D MMM YYYY', |
|||
lll: 'D MMM YYYY HH:mm', |
|||
llll: 'ddd, D MMM YYYY HH:mm' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,38 @@ |
|||
// Hindi [hi]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'hi', |
|||
weekdays: 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'), |
|||
months: 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split('_'), |
|||
weekdaysShort: 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'), |
|||
monthsShort: 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'), |
|||
weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'), |
|||
ordinal: function ordinal(n) { |
|||
return n; |
|||
}, |
|||
formats: { |
|||
LT: 'A h:mm बजे', |
|||
LTS: 'A h:mm:ss बजे', |
|||
L: 'DD/MM/YYYY', |
|||
LL: 'D MMMM YYYY', |
|||
LLL: 'D MMMM YYYY, A h:mm बजे', |
|||
LLLL: 'dddd, D MMMM YYYY, A h:mm बजे' |
|||
}, |
|||
relativeTime: { |
|||
future: '%s में', |
|||
past: '%s पहले', |
|||
s: 'कुछ ही क्षण', |
|||
m: 'एक मिनट', |
|||
mm: '%d मिनट', |
|||
h: 'एक घंटा', |
|||
hh: '%d घंटे', |
|||
d: 'एक दिन', |
|||
dd: '%d दिन', |
|||
M: 'एक महीने', |
|||
MM: '%d महीने', |
|||
y: 'एक वर्ष', |
|||
yy: '%d वर्ष' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,53 @@ |
|||
// Croatian [hr]
|
|||
import dayjs from '../index'; |
|||
var monthFormat = 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split('_'); |
|||
var monthStandalone = 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split('_'); |
|||
var MONTHS_IN_FORMAT = /D[oD]?(\[[^[\]]*\]|\s)+MMMM?/; |
|||
|
|||
var months = function months(dayjsInstance, format) { |
|||
if (MONTHS_IN_FORMAT.test(format)) { |
|||
return monthFormat[dayjsInstance.month()]; |
|||
} |
|||
|
|||
return monthStandalone[dayjsInstance.month()]; |
|||
}; |
|||
|
|||
months.s = monthStandalone; |
|||
months.f = monthFormat; |
|||
var locale = { |
|||
name: 'hr', |
|||
weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'), |
|||
weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'), |
|||
weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'), |
|||
months: months, |
|||
monthsShort: 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split('_'), |
|||
weekStart: 1, |
|||
formats: { |
|||
LT: 'H:mm', |
|||
LTS: 'H:mm:ss', |
|||
L: 'DD.MM.YYYY', |
|||
LL: 'D. MMMM YYYY', |
|||
LLL: 'D. MMMM YYYY H:mm', |
|||
LLLL: 'dddd, D. MMMM YYYY H:mm' |
|||
}, |
|||
relativeTime: { |
|||
future: 'za %s', |
|||
past: 'prije %s', |
|||
s: 'sekunda', |
|||
m: 'minuta', |
|||
mm: '%d minuta', |
|||
h: 'sat', |
|||
hh: '%d sati', |
|||
d: 'dan', |
|||
dd: '%d dana', |
|||
M: 'mjesec', |
|||
MM: '%d mjeseci', |
|||
y: 'godina', |
|||
yy: '%d godine' |
|||
}, |
|||
ordinal: function ordinal(n) { |
|||
return n + "."; |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,38 @@ |
|||
// Haitian Creole (Haiti) [ht]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'ht', |
|||
weekdays: 'dimanch_lendi_madi_mèkredi_jedi_vandredi_samdi'.split('_'), |
|||
months: 'janvye_fevriye_mas_avril_me_jen_jiyè_out_septanm_oktòb_novanm_desanm'.split('_'), |
|||
weekdaysShort: 'dim._len._mad._mèk._jed._van._sam.'.split('_'), |
|||
monthsShort: 'jan._fev._mas_avr._me_jen_jiyè._out_sept._okt._nov._des.'.split('_'), |
|||
weekdaysMin: 'di_le_ma_mè_je_va_sa'.split('_'), |
|||
ordinal: function ordinal(n) { |
|||
return n; |
|||
}, |
|||
formats: { |
|||
LT: 'HH:mm', |
|||
LTS: 'HH:mm:ss', |
|||
L: 'DD/MM/YYYY', |
|||
LL: 'D MMMM YYYY', |
|||
LLL: 'D MMMM YYYY HH:mm', |
|||
LLLL: 'dddd D MMMM YYYY HH:mm' |
|||
}, |
|||
relativeTime: { |
|||
future: 'nan %s', |
|||
past: 'sa gen %s', |
|||
s: 'kèk segond', |
|||
m: 'yon minit', |
|||
mm: '%d minit', |
|||
h: 'inèdtan', |
|||
hh: '%d zè', |
|||
d: 'yon jou', |
|||
dd: '%d jou', |
|||
M: 'yon mwa', |
|||
MM: '%d mwa', |
|||
y: 'yon ane', |
|||
yy: '%d ane' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,61 @@ |
|||
// Hungarian [hu]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'hu', |
|||
weekdays: 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'), |
|||
weekdaysShort: 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'), |
|||
weekdaysMin: 'v_h_k_sze_cs_p_szo'.split('_'), |
|||
months: 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split('_'), |
|||
monthsShort: 'jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec'.split('_'), |
|||
ordinal: function ordinal(n) { |
|||
return n + "."; |
|||
}, |
|||
weekStart: 1, |
|||
relativeTime: { |
|||
future: '%s múlva', |
|||
past: '%s', |
|||
s: function s(_, _s, ___, isFuture) { |
|||
return "n\xE9h\xE1ny m\xE1sodperc" + (isFuture || _s ? '' : 'e'); |
|||
}, |
|||
m: function m(_, s, ___, isFuture) { |
|||
return "egy perc" + (isFuture || s ? '' : 'e'); |
|||
}, |
|||
mm: function mm(n, s, ___, isFuture) { |
|||
return n + " perc" + (isFuture || s ? '' : 'e'); |
|||
}, |
|||
h: function h(_, s, ___, isFuture) { |
|||
return "egy " + (isFuture || s ? 'óra' : 'órája'); |
|||
}, |
|||
hh: function hh(n, s, ___, isFuture) { |
|||
return n + " " + (isFuture || s ? 'óra' : 'órája'); |
|||
}, |
|||
d: function d(_, s, ___, isFuture) { |
|||
return "egy " + (isFuture || s ? 'nap' : 'napja'); |
|||
}, |
|||
dd: function dd(n, s, ___, isFuture) { |
|||
return n + " " + (isFuture || s ? 'nap' : 'napja'); |
|||
}, |
|||
M: function M(_, s, ___, isFuture) { |
|||
return "egy " + (isFuture || s ? 'hónap' : 'hónapja'); |
|||
}, |
|||
MM: function MM(n, s, ___, isFuture) { |
|||
return n + " " + (isFuture || s ? 'hónap' : 'hónapja'); |
|||
}, |
|||
y: function y(_, s, ___, isFuture) { |
|||
return "egy " + (isFuture || s ? 'év' : 'éve'); |
|||
}, |
|||
yy: function yy(n, s, ___, isFuture) { |
|||
return n + " " + (isFuture || s ? 'év' : 'éve'); |
|||
} |
|||
}, |
|||
formats: { |
|||
LT: 'H:mm', |
|||
LTS: 'H:mm:ss', |
|||
L: 'YYYY.MM.DD.', |
|||
LL: 'YYYY. MMMM D.', |
|||
LLL: 'YYYY. MMMM D. H:mm', |
|||
LLLL: 'YYYY. MMMM D., dddd H:mm' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,39 @@ |
|||
// Armenian [hy-am]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'hy-am', |
|||
weekdays: 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split('_'), |
|||
months: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split('_'), |
|||
weekStart: 1, |
|||
weekdaysShort: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'), |
|||
monthsShort: 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'), |
|||
weekdaysMin: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'), |
|||
ordinal: function ordinal(n) { |
|||
return n; |
|||
}, |
|||
formats: { |
|||
LT: 'HH:mm', |
|||
LTS: 'HH:mm:ss', |
|||
L: 'DD.MM.YYYY', |
|||
LL: 'D MMMM YYYY թ.', |
|||
LLL: 'D MMMM YYYY թ., HH:mm', |
|||
LLLL: 'dddd, D MMMM YYYY թ., HH:mm' |
|||
}, |
|||
relativeTime: { |
|||
future: '%s հետո', |
|||
past: '%s առաջ', |
|||
s: 'մի քանի վայրկյան', |
|||
m: 'րոպե', |
|||
mm: '%d րոպե', |
|||
h: 'ժամ', |
|||
hh: '%d ժամ', |
|||
d: 'օր', |
|||
dd: '%d օր', |
|||
M: 'ամիս', |
|||
MM: '%d ամիս', |
|||
y: 'տարի', |
|||
yy: '%d տարի' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,39 @@ |
|||
// Indonesian [id]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'id', |
|||
weekdays: 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'), |
|||
months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'), |
|||
weekdaysShort: 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'), |
|||
monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'), |
|||
weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'), |
|||
weekStart: 1, |
|||
formats: { |
|||
LT: 'HH.mm', |
|||
LTS: 'HH.mm.ss', |
|||
L: 'DD/MM/YYYY', |
|||
LL: 'D MMMM YYYY', |
|||
LLL: 'D MMMM YYYY [pukul] HH.mm', |
|||
LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm' |
|||
}, |
|||
relativeTime: { |
|||
future: 'dalam %s', |
|||
past: '%s yang lalu', |
|||
s: 'beberapa detik', |
|||
m: 'semenit', |
|||
mm: '%d menit', |
|||
h: 'sejam', |
|||
hh: '%d jam', |
|||
d: 'sehari', |
|||
dd: '%d hari', |
|||
M: 'sebulan', |
|||
MM: '%d bulan', |
|||
y: 'setahun', |
|||
yy: '%d tahun' |
|||
}, |
|||
ordinal: function ordinal(n) { |
|||
return n + "."; |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,11 @@ |
|||
/// <reference path="./types.d.ts" />
|
|||
|
|||
declare module 'dayjs/esm/locale/*' { |
|||
namespace locale { |
|||
interface Locale extends ILocale {} |
|||
} |
|||
|
|||
const locale: locale.Locale |
|||
|
|||
export = locale |
|||
} |
@ -0,0 +1,24 @@ |
|||
// Icelandic [is]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'is', |
|||
weekdays: 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split('_'), |
|||
months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split('_'), |
|||
weekStart: 1, |
|||
weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'), |
|||
monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'), |
|||
weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'), |
|||
ordinal: function ordinal(n) { |
|||
return n; |
|||
}, |
|||
formats: { |
|||
LT: 'H:mm', |
|||
LTS: 'H:mm:ss', |
|||
L: 'DD.MM.YYYY', |
|||
LL: 'D. MMMM YYYY', |
|||
LLL: 'D. MMMM YYYY [kl.] H:mm', |
|||
LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
@ -0,0 +1,24 @@ |
|||
// Italian (Switzerland) [it-ch]
|
|||
import dayjs from '../index'; |
|||
var locale = { |
|||
name: 'it-ch', |
|||
weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'), |
|||
months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'), |
|||
weekStart: 1, |
|||
weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'), |
|||
monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'), |
|||
weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'), |
|||
ordinal: function ordinal(n) { |
|||
return n; |
|||
}, |
|||
formats: { |
|||
LT: 'HH:mm', |
|||
LTS: 'HH:mm:ss', |
|||
L: 'DD.MM.YYYY', |
|||
LL: 'D MMMM YYYY', |
|||
LLL: 'D MMMM YYYY HH:mm', |
|||
LLLL: 'dddd D MMMM YYYY HH:mm' |
|||
} |
|||
}; |
|||
dayjs.locale(locale, null, true); |
|||
export default locale; |
Some files were not shown because too many files changed in this diff
Loading…
Reference in new issue