Day.js

Day.js

  • 文档
  • GitHub
  • Languages icon中文
    • English
    • Русский
    • Español
    • 帮助我们翻译

›插件

安装

  • 安装
  • Node.js
  • 浏览器
  • TypeScript
  • 下载

解析

  • 解析
  • 当前时间
  • 字符串
  • 字符串 + 格式
  • Unix 时间戳 (毫秒)
  • Unix 时间戳 (秒)
  • Date 对象
  • 对象
  • 数组
  • UTC
  • Dayjs 复制
  • 验证

取值/赋值

  • 取值/赋值
  • Millisecond
  • Second
  • Minute
  • Hour
  • Date of Month
  • Day of Week
  • Day of Week (Locale Aware)
  • ISO Day of Week
  • 每年中的第几天
  • Week of Year
  • Week of Year (ISO)
  • Month
  • Quarter
  • Year
  • Week Year
  • Week Year (ISO)
  • Weeks In Year (ISO)
  • Get
  • Set
  • Maximum
  • Minimum

操作

  • 操作
  • Add
  • Subtract
  • Start of Time
  • End of Time
  • Local
  • UTC
  • UTC offset

显示

  • 显示
  • Format
  • Time from now
  • Time from X
  • Time to now
  • Time to X
  • Calendar-time
  • Difference
  • Unix 时间戳 (毫秒)
  • Unix 时间戳
  • 月份中天数
  • As Javascript Date
  • As Array
  • As JSON
  • As ISO 8601 String
  • As Object
  • As String

查询

  • 查询
  • Is Before
  • Is Same
  • Is After
  • Is Same or Before
  • Is Same or After
  • Is Between
  • Is a Dayjs
  • Is Leap Year

国际化 (i18n)

  • 国际化 (i18n)
  • 加载语言配置 (NodeJS)
  • 加载语言配置 (浏览器)
  • 改变语言配置 (全局)
  • 改变语言配置 (当前实例)
  • 查看当前语言配置
  • 列出当前语言的月份和周
  • 获取语言配置的属性

插件

  • 插件
  • 加载插件 (NodeJS)
  • 加载插件 (浏览器)
  • AdvancedFormat
  • ArraySupport
  • BadMutable
  • BigIntSupport
  • BuddhistEra
  • Calendar
  • CustomParseFormat
  • DayOfYear
  • DevHelper
  • Duration
  • IsBetween
  • IsLeapYear
  • IsSameOrAfter
  • IsSameOrBefore
  • IsToday
  • IsTomorrow
  • IsYesterday
  • IsoWeek
  • IsoWeeksInYear
  • LocaleData
  • LocalizedFormat
  • MinMax
  • ObjectSupport
  • PluralGetSet
  • PreParsePostFormat
  • QuarterOfYear
  • RelativeTime
  • Timezone
  • ToArray
  • ToObject
  • UpdateLocale
  • UTC
  • weekOfYear
  • WeekYear
  • Weekday

自定义

  • 自定义
  • Month Names
  • Month Abbreviations
  • Weekday Names
  • Weekday Abbreviations
  • Minimal Weekday Abbreviations
  • Relative Time
  • Calendar

时长 (Duration)

  • 时长
  • Creating
  • Clone
  • Humanize
  • Format
  • Milliseconds
  • Seconds
  • Minutes
  • Hours
  • Days
  • Weeks
  • Months
  • Years
  • Add Time
  • Subtract Time
  • Using Duration with Diff
  • As Unit of Time
  • Get Unit of Time
  • As JSON
  • Is a Duration
  • As ISO 8601 String
  • Locale

时区

  • 时区
  • 解析时区
  • 转换到对应时区
  • 用户当前时区
  • 设置默认时区
Translate

PreParsePostFormat

预解析/后格式化让您在解析前处理输入,并在格式化要输出的字符串。 参考类似moment.js 国际化里的用法。

注意:此插件需要在 localeData 插件之前导入(因为有依赖关系)。

注意:此插件也会改变 relativeTime 插件的相关行为

基础用法

例如: 在阿拉伯语言中,它被用于支持阿拉伯数字的特殊显示。

// Arabic [ar]
import dayjs from 'dayjs'
import preParsePostFormat from 'dayjs/plugin/preParsePostFormat'
dayjs.extend(preParsePostFormat)

const months = 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_')
const symbolMap = {
  1: '١',
  2: '٢',
  3: '٣',
  4: '٤',
  5: '٥',
  6: '٦',
  7: '٧',
  8: '٨',
  9: '٩',
  0: '٠'
}

const numberMap = {
  '١': '1',
  '٢': '2',
  '٣': '3',
  '٤': '4',
  '٥': '5',
  '٦': '6',
  '٧': '7',
  '٨': '8',
  '٩': '9',
  '٠': '0'
}

const locale = {
  name: 'ar',
  // ...
  preparse(string) {
    return string
      .replace(
        /[١٢٣٤٥٦٧٨٩٠]/g,
        match => numberMap[match]
      )
      .replace(/،/g, ',')
  },
  postformat(string) {
    return string
      .replace(/\d/g, match => symbolMap[match])
      .replace(/,/g, '،')
  },
  // ...
}
// ...

单元测试 也应该让您很好地了解如何使用插件。

← PluralGetSetQuarterOfYear →
  • 基础用法
Day.js
Community
GitHubGitterSitemap
Copyright © 2025 Day.js