[14] 計算機システムでは、時間帯のない日時を扱うことがよくあり、 浮動時や地方時などと呼ばれています。
[15] これは当該計算機の動作している地域で使われる時刻を表していることが多いですが、 文脈により決まるその他の地域の時刻を表していたり、 どこの時刻であるか不明であることを表していたりする場合もあります。
[16] 将来の日時の記述のために敢えて用いることもあります。
[27] 人間の読み書きする日時の表示は、 実のところほとんどが時差の記述のない時間帯のない日時です。 人間の読み書きも計算機の読み書きも、 多くの場合は文脈から時間帯を (意識的であれ無意識であれ) 補って解釈していることになります。
[43] 日時形式やプログラミング言語のライブラリーなどでは、 時間帯のない日時をそうでない日時と区別するような構文の違いやデータ型の違い、 プロパティーによる区別が設けられていたりします。
[11] -00:00
も参照。
(floating time とは意味が異なりますが、
-0000
は floating time に相当するものに使われることもあります。)
[12] DateTime
(.NET) には、地方時でも UTC
でもないことを表す Unspecified
という指定があります。
DateTimeKind Enumeration (System) () https://msdn.microsoft.com/en-us/library/shx7s921(v=vs.110).aspx
[47] プログラミング言語のライブラリーなどにあっては、 時間帯のない日時のデータ型の値と時差の記述の組を時間帯情報のある日時に変換する手段が用意されていることがあります。
[48] 時間帯のない日時は、 暗黙裡に何らかの時間帯が仮定されて時間帯情報のある日時にキャストされることがあります。 意図的に変換させる場合は構いませんが、 意図せず変換されてしまって不具合が生じることも多いです。
[49]
電子メールの日時形式で採用されている
-0000
による記述は、
特別な対応をしていない実装が多いため、
+0000
すなわち UTC
と同じように解釈されることが多いです。
[46]
<input type=datetime-local>
の
Date
への変換では、 UTC とみなされた値になります。
iCal has a handy feature where you can set the time zone of an event to "Floating". What this means is that the event is no longer tied to a specific time zone. So, let's say you want to schedule lunch at 12pm every day no matter where in the world you are, you set the time zone to floating, and that way you don't get an alert to have lunch at 4am if you're visiting another country.
This class is used to provide the DateTime::TimeZone API needed by DateTime.pm, but for floating times, as defined by the RFC 2445 spec. A floating time has no time zone, and has an effective offset of zero.
If the "name" parameter is "floating", then a DateTime::TimeZone::Floating object is returned. A floating time zone does have any offset, and is always the same time. This is useful for calendaring applications, which may need to specify that a given event happens at the same local time, regardless of where it occurs. See RFC 2445 for more details.
Some observed time values are not related to a specific moment in incremental time. Instead, they need to be combined with local information to determine a range of acceptable incremental time values. We refer to these sorts of time values as "floating times" because they are not fixed to a specific incremental time value. Floating times are not attached and should never be attached to a particular time zone.
Some examples of floating time events include a user’s birth date, a document's publication date, a list of official holidays, or the expiration date for an offer (if not tied explicitly to a time zone).
Example 4:
Suppose that your application delivers newspapers to users. Your application wants to show the publication date of each issue so that, for example, The Sunday News is always shown as being published on a Sunday. The publication date is thus a "floating time" value.
When comparing times, floating times with no time zone information should use UTC as the time zone.
FORM #1: DATE WITH LOCAL TIME
The date with local time form is simply a DATE-TIME value that
does not contain the UTC designator nor does it reference a time
zone. For example, the following represents January 18, 1998, at
11 PM:
19980118T230000
DATE-TIME values of this type are said to be "floating" and are
not bound to any time zone in particular. They are used to
represent the same hour, minute, and second value regardless of
which time zone is currently being observed. For example, an
event can be defined that indicates that an individual will be
busy from 11:00 AM to 1:00 PM every day, no matter which time zone
the person is in. In these cases, a local time can be specified.
The recipient of an iCalendar object with a property value
consisting of a local time, without any relative time zone
information, SHOULD interpret the value as being fixed to whatever
time zone the "ATTENDEE" is in at any given moment. This means
that two "Attendees", in different time zones, receiving the same
event definition as a floating time, may be participating in the
event at different actual times. Floating time SHOULD only be
used where that is the reasonable behavior.
In most cases, a fixed time is desired. To properly communicate a
fixed time in a property value, either UTC time or local time with
time zone reference MUST be specified.
The use of local time in a DATE-TIME value without the "TZID"
property parameter is to be interpreted as floating time,
regardless of the existence of "VTIMEZONE" calendar components in
the iCalendar object.
[8] [perl]DateTimeのtimezoneについてのメモ - $shibayu36->blog; ( ()) http://blog.shibayu36.org/entry/20111002/1317542196
[18] houseabsolute/DateTime.pm: A date and time object for Perl () https://github.com/houseabsolute/DateTime.pm#floating-datetimes
[44]
「地方時」や「local time」
にはいろいろな意味がありますが、
時間帯のない日時を意味していることがあります。
[9] time - The Go Programming Language () https://golang.org/pkg/time/#Location
Local
[10] T2EX () http://www.tron.org/ja/wp-content/themes/dp-magjam/pdf/specifications/ja/TEF020-S009-02.00.00_ja.pdf#page=107
ローカル時刻
[7] <input type=datetime-local>
が扱うのも浮動時です。
[51] TOMLの日時形式: Local Date-Time
[53] FIPAの日時形式 (local time zone)
[54] Floating Timestamp Datatype | Socrata, https://dev.socrata.com/docs/datatypes/floating_timestamp.html#,
[24] 概念時刻なる語を使う人達がいます。 通用範囲は極めて限られていて、 現時点で見つかったものは次のものだけでした。
絶対時刻であるUtc, Localと概念時刻であるUnspecifiedを同じクラスで扱おうとしたあたりが闇の起源くさいですね。
2015年1月1日00:00:00 という時刻表記は、地球上のどこで読んだかによって意味が変わってしまいます。このような時刻のことを 概念時刻 と呼ぶことにしましょう。ボジョレー・ヌーボーの解禁時刻、11月第3木曜日00:00:00も概念時刻だからこそ世界各地で解禁時刻が違い、バブル期は日本が世界で最初に解禁されるって盛り上がったものです。
概念時刻は、世界のどこのタイムゾーンで扱うかによって別の瞬間を示します。例えば 2017-08-09 18:25:00 は、どのタイムゾーンで解釈するかによって実際の時刻が変わるため、概念時刻です。概念時刻は、理論上は暦(calendar system)に依存していくつかの表現方法がありますが、普通はグレゴリオ暦(西暦)を使います。
[26] >>20 では対応する英語が「Local Time」とされています。
[25] MessagePack という一部で人気のデータ形式仕様の作者による解説 >>20 で使われているので、 それなりに影響力があるのかも・・・と思いきや用例は数えるほどで特に普及してもいないようです。 説明無しではまず通用しないと思われます。 意味もわかりにくいので (「概念」とは何を指しているのか不明、 英語「local time」と対応関係にない、 対語「絶対時刻」と対応関係にない)、 使うべきではない用語だと思います。
[52] 時刻以外の不確定要素入り日時は floating date も参照。
[13] RFC 4791 - Calendaring Extensions to WebDAV (CalDAV) () https://tools.ietf.org/html/rfc4791#section-7.3
[17] [tz] DST ends 2040 in Oracle database () https://mm.icann.org/pipermail/tz/2019-January/027453.html