Perl strptime:从字符串解析日期时间294


在 Perl 中,`strptime` 函数可用于从字符串中解析日期和时间。它根据给定的格式字符串将字符串转换为 `DateTime` 对象。`strptime` 的用法如下:```perl
my $dt = strptime( $string, $format );
```

其中:* `$string` 是要解析的字符串。
* `$format` 是一个格式字符串,指定如何解析字符串。

`strptime` 函数支持多种格式字符串,这些字符串基于 C 语言的 `strftime` 函数。以下是一些常见的格式字符串:| 格式字符串 | 描述 |
|---|---|
| %Y | 年份(四位数字) |
| %m | 月份(01-12) |
| %d | 日(01-31) |
| %H | 小时(00-23) |
| %M | 分钟(00-59) |
| %S | 秒(00-59) |
| %z | 时区名称 |

您可以组合这些格式字符串来创建自定义格式。例如,以下格式字符串将解析日期和时间为 "2023-03-08 14:30:00":```
%Y-%m-%d %H:%M:%S
```

`strptime` 函数返回一个 `DateTime` 对象,其中包含解析后的日期和时间。您可以使用 `DateTime` 对象的方法来获取日期和时间的各个部分,例如:```perl
my $year = $dt->year;
my $month = $dt->month;
my $day = $dt->day;
```

您还可以使用 `DateTime` 对象的方法来操作日期和时间,例如:```perl
$dt->add( days => 1 ); # 增加一天
$dt->subtract( hours => 2 ); # 减去两小时
```

`strptime` 函数是解析字符串中日期和时间的有力工具。通过使用不同的格式字符串,您可以解析各种格式的日期和时间字符串。

示例

以下示例展示了如何使用 `strptime` 函数:```perl
my $string = "2023-03-08 14:30:00";
my $format = "%Y-%m-%d %H:%M:%S";
my $dt = strptime( $string, $format );
print $dt->year, "-", $dt->month, "-", $dt->day, "";
print $dt->hour, ":", $dt->minute, ":", $dt->second, "";
```

输出:```
2023-03-08
14:30:00
```

2025-01-19


上一篇:新版 Perl:更快、更强大

下一篇:perl $#数组元素索引