diff --git a/core/core_bind.cpp b/core/core_bind.cpp index e7a77384da6..2d6b8e5666b 100644 --- a/core/core_bind.cpp +++ b/core/core_bind.cpp @@ -373,6 +373,9 @@ Dictionary _OS::get_time(bool utc) const { * @return epoch calculated */ int64_t _OS::get_unix_time_from_datetime(Dictionary datetime) const { + // if datetime is an empty Dictionary throws an error + ERR_FAIL_COND_V_MSG(datetime.is_empty(), 0, "Invalid datetime Dictionary: Dictionary is empty"); + // Bunch of conversion constants static const unsigned int SECONDS_PER_MINUTE = 60; static const unsigned int MINUTES_PER_HOUR = 60; diff --git a/doc/classes/OS.xml b/doc/classes/OS.xml index 057a2b8d1ad..548147beabc 100644 --- a/doc/classes/OS.xml +++ b/doc/classes/OS.xml @@ -367,6 +367,7 @@ Gets an epoch time value from a dictionary of time values. [code]datetime[/code] must be populated with the following keys: [code]year[/code], [code]month[/code], [code]day[/code], [code]hour[/code], [code]minute[/code], [code]second[/code]. + If the dictionary is empty [code]0[/code] is returned. You can pass the output from [method get_datetime_from_unix_time] directly into this function. Daylight Savings Time ([code]dst[/code]), if present, is ignored.