BSON::Time3pm
Bson type wrapper for date and time
Usage
use BSON::Types ':all';bson_time(); # nowbson_time( $secs ); # floating point seconds since epoch
Version
version v1.12.2
Overview
This module provides a BSON type wrapper for a 64-bit date-time value in the form of milliseconds since the Unix epoch (UTC only).
On a Perl without 64-bit integer support, the value must be a Math::BigInt object.
Attributes
value
A integer representing milliseconds since the Unix epoch. The default is 0.
Methods
epoch
Returns the number of seconds since the epoch (i.e. a floating-point value).
as_iso8601
Returns the "value" as an ISO-8601 formatted string of the form "YYYY-MM-DDThh:mm:ss.sssZ". The fractional seconds will be omitted if they are zero.
as_datetime
Loads DateTime and returns the "value" as a DateTime object.
as_datetime_tiny
Loads DateTime::Tiny and returns the "value" as a DateTime::Tiny object.
as_mango_time
Loads Mango::BSON::Time and returns the "value" as a Mango::BSON::Time object.
as_time_moment
Loads Time::Moment and returns the "value" as a Time::Moment object.
To_json
Returns a string formatted by "as_iso8601".
If the "BSON_EXTJSON" option is true, it will instead be compatible with MongoDB's extended JSON <https://github.com/mongodb/specifications/blob/master/source/extended-json.rst> format, which represents it as a document as follows:
If the "BSON_EXTJSON" environment variable is true and the "BSON_EXTJSON_RELAXED" environment variable is false, returns a hashref compatible with MongoDB's extended JSON <https://github.com/mongodb/specifications/blob/master/source/extended-json.rst> format, which represents it as a document as follows:
{"$date" : { "$numberLong": "22337203685477580" } }
If the "BSON_EXTJSON" and "BSON_EXTJSON_RELAXED" environment variables are both true, then it will return a hashref with an ISO-8601 string for dates after the Unix epoch and before the year 10,000 and a $numberLong style value otherwise.
{"$date" : "2012-12-24T12:15:30.500Z"}{"$date" : { "$numberLong": "-10000000" } }
Overloading
Both numification ("0+") and stringification ("") are overloaded to return the result of "epoch". Numeric comparison and string comparison are overloaded based on those and fallback overloading is enabled.
Copyright and license
This software is Copyright (c) 2020 by Stefan G. and MongoDB, Inc.
This is free software, licensed under:
The Apache License, Version 2.0, January 2004
Releases
4 releases since Debian 10 (Buster); the text changed 2 times.