admin 管理员组

文章数量: 887021


2024年2月24日发(作者:slidedown是跑车的意思吗)

js中dateformat用法

在 JavaScript 中,Date 对象和字符串之间的转换是常见的操作之一。日期格式化就是将日期对象转换为特定的字符串格式。

是一种轻量级的 JavaScript 库,用于格式化和操作日期时间,具有广泛的复杂性和可扩展性,支持绝大多数日期时间格式化需求。下面将介绍 的用法和实例。

及其使用

是一个小型类库,可以用来强大地处理日期和时间。

最重要的功能之一是使用简单的语法来处理所有日期和时间。让我们看一下

的语法。

在 JavaScript 中,我们通常使用以下诸如 “YYYY-MM-DD” 的格式来表示日期。 中也是如此。

下表列出了 中支持的日期格式以及它们对应的日期值:

| 格式 | 说明 | 示例 |

| :----- | :------ | :------ |

| `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

# 基础格式化

以下是 中常用的日期格式化方法。这些方法采用类似“格式化字符串”的参数,并返回相应的字符串表示。

格式化方法 说明 示例

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

# 自定义日期格式和修饰符

除了标准日期格式之外, 也允许您创建自定义日期格式。

中的日期格式由“占位符”组成,表示当前时间或日期中的不同部分。

例如,以下代码使用 的自定义日期格式创建一个日期,然后使用修饰符将它格式化:

```js

const date = new Date(2021, 3, 19, 10, 20, 30);

const formattedDate = ng('dd MMMM yyyy h:mm tt');

(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) 将一个日期设置为特定值

实例

下面是一些 中格式化日期和时间的实际用例。

```js

// 创建一个日期

const date = new Date();

// 使用 toString() 方法将日期格式化为默认字符串表示

(ng()); // Mon Apr 19 2021 16:21:14 GMT+0800 (China

Standard Time)

结论

是一种简单易用的类库,可以轻松地处理 JavaScript 中的日期时间。它使日期格式化成为一项轻而易举的任务,并提供方便的修饰符来处理日期和时间的字符串。

对于需要操作日期、时间、时区、格式化的开发者们, 提供了一种方便快捷的方法来完成这些任务,以节省时间和减轻开发负担。


本文标签: 时间 字符串 格式 修饰符 返回