dateToNumber: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - "_{10,} " to "") |
Lou Montana (talk | contribs) m (Text replacement - " *\| *([Cc]omments|COMMENTS|Game|[Gg]ame [Nn]ame|Game [Vv]ersion|Game Version \(number surrounded by NO SPACES\)|Multiplayer Arguments( \("local" or "global"\))?|Effects|Multiplayer Effects( \("local" or "global"\))?|Multiplayer Exe...) |
||
Line 1: | Line 1: | ||
{{Command | {{Command | ||
| arma2 | | arma2 | ||
|1.00 | |1.00 | ||
|gr1= Environment | |gr1= Environment | ||
| 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> | | 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> | ||
Line 12: | Line 12: | ||
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> | <tt>1 / 365 * 366 <nowiki>=</nowiki> 1.00274</tt><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 | ||
| '''dateToNumber''' date | | '''dateToNumber''' date | ||
|p1= date: [[Array]] - array in [[date]] format | |p1= date: [[Array]] - array in [[date]] format | ||
|p2 | |p2= | ||
|p3 | |p3= | ||
| [[Number]] | | [[Number]] | ||
|x1= <code>_float = [[dateToNumber]] [2035,7,6,12,0]; //0.510959</code> | |x1= <code>_float = [[dateToNumber]] [2035,7,6,12,0]; //0.510959</code> | ||
|x2= <code>[[dateToNumber]] [[date]]; //will return float number for the current date.</code> | |x2= <code>[[dateToNumber]] [[date]]; //will return float number for the current date.</code> | ||
Line 40: | Line 40: | ||
}; | }; | ||
[[hint]] [[str]] ([[date]] [[call]] fnc_daysFromEpoc);</code> | [[hint]] [[str]] ([[date]] [[call]] fnc_daysFromEpoc);</code> | ||
| [[date]], [[daytime]], [[time]], [[numberToDate]] | | [[date]], [[daytime]], [[time]], [[numberToDate]] | ||
| |MPBEHAVIOUR= | | |MPBEHAVIOUR= |
Revision as of 00:29, 18 January 2021
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
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