var searchIndex = {}; searchIndex["hourglass"] = {"doc":"`hourglass` provides support for timezone, datetime arithmetic and take care\nof subtleties related to time handling, like leap seconds.","items":[[3,"Timezone","hourglass","A timezone.",null,null],[3,"Timespec","","An offset from the Unix Epoch.",null,null],[3,"Datetime","","A precise point in time along associated to a `Timezone`.",null,null],[3,"Deltatime","","A delta of time used in `Datetime` arithmetic.",null,null],[4,"TzError","","Possible errors when creating a `Timezone`.",null,null],[13,"IOError","","",0,null],[13,"InvalidTzFile","","",0,null],[13,"InvalidPosixTz","","",0,null],[13,"UnsupportedTzFile","","",0,null],[4,"InputError","","Possible errors when creating a `Datetime`.",null,null],[13,"InvalidMonth","","",1,null],[13,"InvalidDay","","",1,null],[13,"InvalidHour","","",1,null],[13,"InvalidMinute","","",1,null],[13,"InvalidSecond","","",1,null],[13,"InvalidNano","","",1,null],[13,"InvalidLeapSecond","","",1,null],[13,"InvalidFormat","","",1,null],[4,"FmtError","","Possible errors when formatting a `Datetime`.",null,null],[13,"UnexpectedEndOfString","","",2,null],[13,"InvalidFormatter","","",2,null],[11,"new","","Try to load a new `Timezone`.\nIt assumes that the zoneinfo data are located\nunder `/usr/share/zoneinfo`.",3,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"local","","Load the local `Timezone` set by the system,\ndisregarding the `TZ` environment variable.",3,{"inputs":[],"output":{"name":"result"}}],[11,"utc","","Returns the `UTC` timezone.",3,{"inputs":[],"output":{"name":"self"}}],[11,"fixed","","Returns a fixed offset to `UTC` timezone.\nThe provided offset is in seconds.",3,{"inputs":[{"name":"i32"}],"output":{"name":"self"}}],[11,"posix","","Create a `Timezone` from a POSIX TZ definition.\nSee `man 3 tzset` for a description of the format.",3,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[11,"now","","Return the `Datetime` representing now, relative to this `Timezone`.",3,null],[11,"parse","","Parse a `Datetime` relative to this `Timezone` according to the\ngiven format. Timezone-related field are ignored. An `InputError`\nis returned if the string does not match the format.",3,null],[11,"unix","","Create a new `Datetime` from a Unix timestamp. The provided\ntimestamp represents Unix seconds from the Epoch, discarding any\nleap seconds that may have happened in between. A Unix timestamp\nis ambiguous on leap second insertion (e.g. `1435708800` is\nequal to both `2015-06-30T23:59:60Z` and `2015-07-01T00:00:00Z`)\nhowever, `unix` will always choose the non-leap second. Return\nan `InputError` if `nano` ∉ [0, 999999999].",3,null],[11,"datetime","","Create a new `Datetime` relative to this `Timezone`.\nAn `InputError` is returned if the following constraints do not hold:",3,null],[11,"fmt","","",4,null],[11,"clone","","",4,null],[11,"now","","Return the `Timespec` representing now.",4,{"inputs":[],"output":{"name":"timespec"}}],[11,"unix","","Create a new `Timespec` from a Unix timestamp. An `InputError`\nis returned if `nano` ∉ [0, 999999999].",4,{"inputs":[{"name":"i64"},{"name":"i32"}],"output":{"name":"result"}}],[11,"seconds","","Get the number of Unix seconds since the Unix Epoch.",4,null],[11,"nanoseconds","","Get the number of nanoseconds elapsed for the current second.",4,null],[11,"to_datetime","","Convert the `Timespec` into a `Datetime`, given a `Timezone`.\nNote the `Timespec` is always expressed as a Unix time, so\nconverting to a `Datetime` won't interpret the `Timespec` as\nanything other than an offset from Unix Epoch in `UTC` timezone.",4,null],[11,"eq","","",4,null],[11,"partial_cmp","","",4,null],[11,"cmp","","",4,null],[11,"add","","",4,null],[11,"sub","","",4,null],[11,"sub","","",4,null],[11,"clone","","",5,null],[11,"project","","Project the current `Datetime` in another `Timezone`.",5,null],[11,"date","","Return the date component of the `Datetime` expressed\nin the associated `Timezone`. The tuple holds the\nyear, month and day in this order.",5,null],[11,"time","","Return the time component of the `Datetime` expressed\nin the associated `Timezone`. The tuple holds\nthe hour, minute, second and nanosecond in this order.",5,null],[11,"unix","","Return the unix timestamp. This is the number of unix seconds\nsince `1970-01-01T00:00:00Z`.",5,null],[11,"to_timespec","","Convert the `Datetime` to a `Timespec`, disregarding the\n`Timezone`. The associated `Timezone` does not have any impact on\nthe resulting `Timespec`. Therefore, as long as two `Datetime`\nwith different `Timezone` match the same point in time, their\nresulting `Timespec` will be equal.",5,null],[11,"format","","Format the `Datetime` according to the provided `format`.\nThe following control characters are implemented:",5,null],[11,"rfc3339","","Format `Datetime` according to RFC 3339 format.",5,null],[11,"rfc2822","","Format `Datetime` according to RFC 2822 format.",5,null],[11,"eq","","",5,null],[11,"partial_cmp","","",5,null],[11,"cmp","","",5,null],[11,"add","","",5,null],[11,"sub","","",5,null],[11,"sub","","",5,null],[11,"fmt","","",5,null],[11,"fmt","","",0,null],[11,"fmt","","",0,null],[11,"description","","",0,null],[11,"from","","",0,{"inputs":[{"name":"error"}],"output":{"name":"self"}}],[11,"fmt","","",1,null],[11,"fmt","","",1,null],[11,"description","","",1,null],[11,"fmt","","",2,null],[11,"fmt","","",2,null],[11,"description","","",2,null],[11,"fmt","","",6,null],[11,"clone","","",6,null],[11,"nanoseconds","","Create a delta of `n` nanoseconds. Possible leap seconds are\naccounted for.",6,{"inputs":[{"name":"i64"}],"output":{"name":"self"}}],[11,"microseconds","","Create a delta of `n` microseconds. Possible leap seconds are\naccounted for.",6,{"inputs":[{"name":"i64"}],"output":{"name":"self"}}],[11,"milliseconds","","Create a delta of `n` milliseconds. Possible leap seconds are\naccounted for.",6,{"inputs":[{"name":"i64"}],"output":{"name":"self"}}],[11,"seconds","","Create a delta of `n` seconds. Possible leap seconds are\naccounted for.",6,{"inputs":[{"name":"i64"}],"output":{"name":"self"}}],[11,"minutes","","Create a delta of `n` minutes. Possible leap seconds are\naccounted for.",6,{"inputs":[{"name":"i64"}],"output":{"name":"self"}}],[11,"hours","","Create a delta of `n` hours. Possible leap seconds are accounted\nfor.",6,{"inputs":[{"name":"i64"}],"output":{"name":"self"}}],[11,"days","","Create a delta of `n` days. The time part of the shifted\n`Datetime` is not affected. This is a logical day, therefore,\nleap seconds are ignored.",6,{"inputs":[{"name":"i64"}],"output":{"name":"self"}}],[11,"as_nanoseconds","","Returns the total number of nanoseconds contained in this delta.\nIf the delta is created from `Deltatime::days`, the number\nof nanoseconds in a day is assumed to be `86400e9`.",6,null],[11,"as_microseconds","","Returns the total number of microseconds contained in this delta.\nIf the delta is created from `Deltatime::days`, the number\nof microseconds in a day is assumed to be `86400e6`.",6,null],[11,"as_milliseconds","","Returns the total number of milliseconds contained in this delta.\nIf the delta is created from `Deltatime::days`, the number\nof milliseconds in a day is assumed to be `86400e3`.",6,null],[11,"as_seconds","","Returns the total number of seconds contained in this delta.\nIf the delta is created from `Deltatime::days`, the number\nof seconds in a day is assumed to be `86400`.",6,null],[11,"as_minutes","","Returns the total number of minutes contained in this delta.",6,null],[11,"as_hours","","Returns the total number of hours contained in this delta.",6,null],[11,"as_days","","Returns the total number of days contained in this delta.",6,null],[11,"eq","","",6,null],[11,"partial_cmp","","",6,null],[11,"cmp","","",6,null],[11,"neg","","",6,null]],"paths":[[4,"TzError"],[4,"InputError"],[4,"FmtError"],[3,"Timezone"],[3,"Timespec"],[3,"Datetime"],[3,"Deltatime"]]}; initSearch(searchIndex);