js中dateformat用法
在 JavaScript 中,Date 对象和字符串之间的转换是常见的操作之一。日期格式化就是将日期对象转换为特定的字符串格式。
Date.js 是一种轻量级的 JavaScript 库,用于格式化和操作日期时间,具有广泛的复杂性和可扩展性,支持绝大多数日期时间格式化需求。下面将介绍 Date.js 的用法和实例。
Date.js 及其使用
Date.js 是一个小型类库,可以用来强大地处理日期和时间。
Date.js 最重要的功能之一是使用简单的语法来处理所有日期和时间。让我们看一下 Date.js 的语法。
在 JavaScript 中,我们通常使用以下诸如 “YYYY-MM-DD” 的格式来表示日期。Date.js 中也是如此。
下表列出了 Date.js 中支持的日期格式以及它们对应的日期值:
| 格式 | 说明 | 示例 |
| :----- | :------ | :------ |
| `yyyy` | 4 个数字的年份 | `2014` |
| `yy` | 2 个数字的年份 | `14` |
| `MMMM` | 完整的月份名称 | `January-December` |
| `MMM` | 3 个字母的月份名称 | `Jan-Dec` |
| `MM` | 2 个数字的月份 (前导零) | `01-12` |
| `M` | 数字的月份 (没有前导零) | `1-12` |
| `dd` | 2 个数字的日期(前导零) | `01-31` |
| `d` | 数字的日期(没有前导零) | `1-31` |
| `HH` | 2 个数字的 24 小时制小时数 (前导零) | `00-23` |
| `H` | 数字的 24 小时制小时数 (没有前导零) | `0-23` |
| `hh` | 2 个数字的 12 小时制小时数 (前导零) | `01-12` |
| `h` | 数字的 12 小时制小时数 (没有前导零) | `1-12` |
| `mm` | 2 个数字的分钟数 (前导零) | `00-59` |
| `m` | 数字的分钟数 (没有前导零) | `0-59` |
| `ss` | 2 个数字的秒数 (前导零) | `00-59` |
| `s` | 数字的秒数 (没有前导零) | `0-59` |
| `tt` | 两个字符的 AM 或 PM | `AM/PM` |
| `t` | 一个字符的 AM 或 PM | `A/P` |
| `TZD` | ISO 8601 Timezone Designator (Z 或 +hh:mm 或 -hh:mm) | `Z/+08:00/-05:30` |
下面是一些实际的日期格式及其对应的值:
日期/时间 | 条目/值
-------|----------
年、四位数字 | yyyy
年、两位数字 | yy
月份、2 位数字 (前导零) |MM
月份、数字 (无前导零) | M
默认的英文月份名 | MMMM
缩写的英文月份名 | MMM
两位数字的日期 | dd
数字日期 (无前导零) | d
24 小时制的小时 | HH
24 小时制的小时、无前导零 | H
12 小时制的小时 | hh
12 小时制的小时、无前导零 | h
两位数字的分钟 | mm
数字分钟 (无前导零) | m
两位数字的秒钟 | ss
数字秒钟 (无前导零) | s
上午(AM)还是下午(PM) | tt
ISO 8601 的时区设定 (Z 或者 +hh:mm 或 -hh:mm) | TZD
# 基础格式化
以下是 Date.js 中常用的日期格式化方法。这些方法采用类似“格式化字符串”的参数,并返回相应的字符串表示。
格式化方法 说明 示例
format() 将日期和时间格式化为默认日期和时间格式。 `"Mon Apr 19 2021 00:00:00 GMT+0800 (China Standard Time)" -> "Mon Apr 19 2021 00:00:00 GMT+0800 (CST)"`
toISOString() 将一个日期和时间格式化为 ISO 格式。 `"Mon Apr 19 2021 00:00:00 GMT+0800 (China Standard Time)" -> "2021-04-18T16:00:00.000Z"`
toDateString() 返回日期的字符串格式。 `"Mon Apr 19 2021 00:00:00 GMT+0800 (China Standard Time)" -> "Mon Apr 19 2021"`
toTimeString() 返回时间的字符串格式。 `"Mon Apr 19 2021 00:00:00 GMT+0800 (China Standard Time)" -> "00:00:00 GMT+0800 (CST)"`
toLocaleDateString() 将日期格式化为本地字符串。 `"Mon Apr 19 2021 00:00:00 GMT+0800 (China Standard Time)" -> "2021/4/19"`
toLocaleString() 将日期和时间格式化为本地字符串。 `"Mon Apr 19 2021 00:00:00 GMT+0800 (China Standard Time)" -> "2021/4/19 上午12:00:00"`
toLocaleTimeString() 返回本地时间的字符串格式。 `"Mon Apr 19 2021 00:00:00 GMT+0800 (China Standard Time)" -> "上午12:00:00"`
下面是一些常见的模式和他们输出的例子:
模式 | 示例
---|---|
yyyy-MM-dd HH:mm:ss | 2021-04-19 00:00:00
yy-M-d H:m:s | 21-4-19 0:0:0
yyyy/MM/dd hh:mm:ss tt | 2021/04/19 12:00:00 AM
# 自定义日期格式和修饰符
除了标准日期格式之外,Date.js 也允许您创建自定义日期格式。
Date.js 中的日期格式由“占位符”组成,表示当前时间或日期中的不同部分。
例如,以下代码使用 Date.js 的自定义日期格式创建一个日期,然后使用修饰符将它格式化:
```js
const date = new Date(2021, 3, 19, 10, 20, 30);
const formattedDate = String('dd MMMM yyyy h:mm tt');
console.log(formattedDate);
```
这里,我们使用 "dd MMMM yyyy h:mm tt" 格式化字符串,并使用 toString() 方法将日期格式化为字符串。
输出将是:
```
19 April 2021 10:20 AM
```
修饰符提供了一些有用的方式来格式化和处理日期和时间字符串。例如,以下代码展示了如何使用修饰符处理日期和时间的字符串。
在这里,我们没有直接使用固定的日期,而是使用 add(1).day() 添加一个日期,确保日期向前移动了一天。然后,我们使用修饰符 dd MMMM yyyy h:mm tt 将日期格式化为字符串。输出将是:
其他常用的修饰符包括:
修饰符 说明
addWeeks(weeks) 将日期增加指定的周数
addDays(days) 将日期增加指定的天数
addHours(hours) 将日期增加指定的小时数
addMinutes(minutes) 将日期增加指定的分钟数
addSeconds(seconds) 将日期增加指定的秒数
addMilliseconds(milliseconds) 将日期增加指定的毫秒数
ceil(type) 返回指定单位的上限值,比如月、周等等
floor(type) 返回指定单位的下限值,比如月、周等等
set(date) 将一个日期设置为特定值
实例
下面是一些 Date.js 中格式化日期和时间的实际用例。
```js
// 创建一个日期
const date = new Date();
// 使用 toString() 方法将日期格式化为默认字符串表示
console.String()); // Mon Apr 19 2021 16:21:14 GMT+0800 (China Standard Time)
javascript说明 结论
Date.js 是一种简单易用的类库,可以轻松地处理 JavaScript 中的日期时间。它使日期格式化成为一项轻而易举的任务,并提供方便的修饰符来处理日期和时间的字符串。
对于需要操作日期、时间、时区、格式化的开发者们,Date.js 提供了一种方便快捷的方法来完成这些任务,以节省时间和减轻开发负担。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论