NAME
BSON::Time - BSON type wrapper for date and time
VERSION
version v0.999.4
SYNOPSIS
use BSON::Types ':all';
bson_time( $number );
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_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:
{"$date" : { "$numberLong": "22337203685477580" } }
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) 2016 by Stefan G. and MongoDB, Inc.
This is free software, licensed under:
The Apache License, Version 2.0, January 2004