NAME
BSON::Time - BSON type wrapper for date and time
VERSION
version v1.12.2
SYNOPSIS
use BSON::Types ':all';
bson_time(); # now
bson_time( $secs ); # floating point seconds since epoch
DESCRIPTION
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 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 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.
AUTHORS
David Golden <david@mongodb.com>
Stefan G. <minimalist@lavabit.com>
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