Elixir语言中 DateTime.add
相关用法介绍如下。
用法:
add(datetime, amount_to_add, unit \\ :second, time_zone_database \\ Calendar.get_time_zone_database())
(从 1.8.0 开始)
@spec add(
Calendar.datetime(),
integer(),
System.time_unit(),
Calendar.time_zone_database()
) :: t()
将指定的时间量添加到
。DateTime
接受来自
的任何 System.time_unit/0
unit
中的 amount_to_add
。负值将及时向后移动。
考虑夏令时/夏令时等变化。这意味着添加时间会导致秋季"fall back"期间的墙壁时间为"go backwards"。在 "spring forward" 之前的日期时间中添加几秒钟可能会导致挂墙时间增加一个多小时。
小数秒精度以与
类似的方式保持不变。NaiveDateTime.add/2
例子
iex> dt = DateTime.from_naive!(~N[2018-11-15 10:00:00], "Europe/Copenhagen", FakeTimeZoneDatabase)
iex> dt |> DateTime.add(3600, :second, FakeTimeZoneDatabase)
#DateTime<2018-11-15 11:00:00+01:00 CET Europe/Copenhagen>
iex> DateTime.add(~U[2018-11-15 10:00:00Z], 3600, :second)
~U[2018-11-15 11:00:00Z]
在 "spring forward" 之前添加 3 秒时,我们从 1:59:59 变为 3:00:02
iex> dt = DateTime.from_naive!(~N[2019-03-31 01:59:59.123], "Europe/Copenhagen", FakeTimeZoneDatabase)
iex> dt |> DateTime.add(3, :second, FakeTimeZoneDatabase)
#DateTime<2019-03-31 03:00:02.123+02:00 CEST Europe/Copenhagen>
相关用法
- Elixir DateTime.now用法及代码示例
- Elixir DateTime.to_unix用法及代码示例
- Elixir DateTime.from_naive用法及代码示例
- Elixir DateTime.from_unix用法及代码示例
- Elixir DateTime.from_unix!用法及代码示例
- Elixir DateTime.convert用法及代码示例
- Elixir DateTime.new!用法及代码示例
- Elixir DateTime.utc_now用法及代码示例
- Elixir DateTime.truncate用法及代码示例
- Elixir DateTime.diff用法及代码示例
- Elixir DateTime.to_date用法及代码示例
- Elixir DateTime.to_gregorian_seconds用法及代码示例
- Elixir DateTime.convert!用法及代码示例
- Elixir DateTime.from_naive!用法及代码示例
- Elixir DateTime.now!用法及代码示例
- Elixir DateTime.from_gregorian_seconds用法及代码示例
- Elixir DateTime.to_naive用法及代码示例
- Elixir DateTime.shift_zone!用法及代码示例
- Elixir DateTime.from_iso8601用法及代码示例
- Elixir DateTime.new用法及代码示例
- Elixir DateTime.compare用法及代码示例
- Elixir DateTime.to_string用法及代码示例
- Elixir DateTime.to_iso8601用法及代码示例
- Elixir DateTime.shift_zone用法及代码示例
- Elixir DateTime.to_time用法及代码示例
注:本文由纯净天空筛选整理自elixir-lang.org大神的英文原创作品 DateTime.add(datetime, amount_to_add, unit \\ :second, time_zone_database \\ Calendar.get_time_zone_database())。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。