DateTimeFormatter.WithZone(ZoneId) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
返回具有新替代区域的此格式化程序的副本。
[Android.Runtime.Register("withZone", "(Ljava/time/ZoneId;)Ljava/time/format/DateTimeFormatter;", "", ApiSince=26)]
public Java.Time.Format.DateTimeFormatter? WithZone (Java.Time.ZoneId? zone);
[<Android.Runtime.Register("withZone", "(Ljava/time/ZoneId;)Ljava/time/format/DateTimeFormatter;", "", ApiSince=26)>]
member this.WithZone : Java.Time.ZoneId -> Java.Time.Format.DateTimeFormatter
参数
- zone
- ZoneId
新的替代区域,如果没有替代,则为 null
返回
基于具有所请求替代区域的格式化程序,而不是 null 的格式化程序
- 属性
注解
返回具有新替代区域的此格式化程序的副本。
这会返回一个格式化程序,其状态类似于此格式化程序,但设置了替代区域。 默认情况下,格式化程序没有替代区域,返回 null。
如果添加了替代,则格式化或分析的任何即时都将受到影响。
格式设置时,如果临时对象包含即时,则会使用替代区域将其转换为分区日期时间。 临时是否是即时的,通过查询 ChronoField#INSTANT_SECONDS INSTANT_SECONDS
字段来确定。 如果输入具有时间顺序,则除非重写,否则将保留该输入。 如果输入没有计时表,例如 Instant
,将使用 ISO 计时表。
如果临时对象不包含即时,但包含偏移量,则会进行额外的检查。 如果规范化重写区域是与时态偏移量不同的偏移量,则会引发一个 DateTimeException
。 在所有其他情况下,重写区域将添加到临时区域,替换任何以前的区域,但不更改日期/时间。
分析时,需要考虑两种不同的情况。 如果已直接从文本分析区域(可能是因为 DateTimeFormatterBuilder#appendZoneId()
已使用),则此替代区域不起作用。 如果未分析任何区域,则此替代区域将包含在分析结果中,该分析可用于生成即时和日期时间。
此实例不可变,不受此方法调用影响。
适用于 . 的 java.time.format.DateTimeFormatter.withZone(java.time.ZoneId)
Java 文档
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。