dateToNumber: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "[[daytime" to "[[dayTime")
m (Text replacement - "<tt>([^ ]*=[^ ]*)<\/tt>" to "{{hl|c= $1}}")
Line 17: Line 17:
|descr= Convert a date to a float number, based on Jan 1st 00:00:00 <nowiki>=</nowiki> 0 and Dec 31st  23:59:59 <nowiki>=</nowiki> 1. The same day and time in leap year will be different after 28th of February and 23:59 on 31st of December will be 1.00274 <br><br>
|descr= Convert a date to a float number, based on Jan 1st 00:00:00 <nowiki>=</nowiki> 0 and Dec 31st  23:59:59 <nowiki>=</nowiki> 1. The same day and time in leap year will be different after 28th of February and 23:59 on 31st of December will be 1.00274 <br><br>
This is how this command works. The 365 days of the year are presented in range 0...1. So each day will be:<br>
This is how this command works. The 365 days of the year are presented in range 0...1. So each day will be:<br>
<tt>1 / 365 <nowiki>=</nowiki>  0.00273973</tt> <br>
{{hl|c= 1 / 365 <nowiki>=</nowiki>  0.00273973}} <br>
In a leap year there are 366 days, so the range will increase by 1 day:<br>
In a leap year there are 366 days, so the range will increase by 1 day:<br>
<tt>1 / 365  *  366 <nowiki>=</nowiki> 1.00274</tt><br>
{{hl|c= 1 / 365  *  366 <nowiki>=</nowiki> 1.00274}}<br>
In short, in a normal year the command returns in range 0...1 in a leap year it will return in range 0...1.00274
In short, in a normal year the command returns in range 0...1 in a leap year it will return in range 0...1.00274



Revision as of 00:23, 16 November 2021

Hover & click on the images for description

Description

Description:
Convert a date to a float number, based on Jan 1st 00:00:00 = 0 and Dec 31st 23:59:59 = 1. The same day and time in leap year will be different after 28th of February and 23:59 on 31st of December will be 1.00274

This is how this command works. The 365 days of the year are presented in range 0...1. So each day will be:
1 / 365 0.00273973
In a leap year there are 366 days, so the range will increase by 1 day:
1 / 365 * 366 1.00274
In short, in a normal year the command returns in range 0...1 in a leap year it will return in range 0...1.00274
Groups:
Environment

Syntax

Syntax:
dateToNumber date
Parameters:
date: Array - array in date format
Return Value:
Number

Examples

Example 1:
_float = dateToNumber [2035,7,6,12,0]; //0.510959
Example 2:
dateToNumber date; //will return float number for the current date.
Example 3:
Calculate days from 1/1/1970: fnc_daysFromEpoc = { private _year = param [0]; private _days = 0; for "_i" from 1970 to _year - 1 do { _days = _days + round linearConversion [0, 1, dateToNumber [_i, 12, 31, 23, 59], 0, 365, false]; }; _days + linearConversion [0, 1, dateToNumber _this, 0, 365, false]; }; hint str (date call fnc_daysFromEpoc);

Additional Information

See also:
datedayTimetimenumberToDate

Notes

Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note