Clock, date and time¶
Energy.Base.Clock contains functions related to classes, objects and assemblies.
You will find here functions to modify fields or properties of C# objects.
CurrentTime¶
Return current date in ISO format.
Example: “2020-01-01”.
string Energy.Base.Clock.CurrentDate
CurrentTime¶
Return current time as time string with millisecond part in 24h format.
Example: “17:33:15.176”.
string Energy.Base.Clock.CurrentDate
CurrentTimeSpace¶
Return current time as time string with millisecond part in 24h format and trailing space. Example: “17:33:15.176 “.
string Energy.Base.Clock.CurrentTimeSpace
Floor¶
Round time to specified precision.
DateTime Energy.Base.Clock.Floor(DateTime value, int precision)
Precision may be positive or negative number. On positive precision function will include as many fractional second digits as possible (up to 7). On negative precision function may round to minute, hour or even a year. Use 3 for milliseconds, 6 for microseconds, -2 for minutes, -4 for hours, etc.
DateTime needle;
DateTime result;
needle = new DateTime(2121, 12, 16, 21, 17, 33, 456);
result = Energy.Base.Clock.Floor(needle, 4); // 2121-12-16 21:17:33.456
result = Energy.Base.Clock.Floor(needle, 3); // 2121-12-16 21:17:33.456
result = Energy.Base.Clock.Floor(needle, 2); // 2121-12-16 21:17:33.450
result = Energy.Base.Clock.Floor(needle, 1); // 2121-12-16 21:17:33.400
result = Energy.Base.Clock.Floor(needle, 0); // 2121-12-16 21:17:33
result = Energy.Base.Clock.Floor(needle, -1); // 2121-12-16 21:17:30
result = Energy.Base.Clock.Floor(needle, -2); // 2121-12-16 21:17:00
result = Energy.Base.Clock.Floor(needle, -3); // 2121-12-16 21:10:00
result = Energy.Base.Clock.Floor(needle, -4); // 2121-12-16 21:00:00
result = Energy.Base.Clock.Floor(needle, -5); // 2121-12-16 20:00:00
result = Energy.Base.Clock.Floor(needle, -6); // 2121-12-16 00:00:00
result = Energy.Base.Clock.Floor(needle, -7); // 2121-12-10 00:00:00
result = Energy.Base.Clock.Floor(needle, -8); // 2121-12-01 00:00:00
result = Energy.Base.Clock.Floor(needle, -9); // 2121-10-01 00:00:00
result = Energy.Base.Clock.Floor(needle, -10); // 2121-01-01 00:00:00
result = Energy.Base.Clock.Floor(needle, -11); // 2120-01-01 00:00:00
result = Energy.Base.Clock.Floor(needle, -12); // 2100-01-01 00:00:00
result = Energy.Base.Clock.Floor(needle, -13); // 2000-01-01 00:00:00
result = Energy.Base.Clock.Floor(needle, -14); // 0001-01-01 00:00:00
Truncate¶
Round down DateTime value to desired precision of seconds.
DateTime Energy.Base.Clock.Truncate(DateTime value, int precision)
Round down DateTime to whole seconds
DateTime Energy.Base.Clock.Truncate(DateTime value)
Round down TimeSpan to desired precision of seconds.
TimeSpan Energy.Base.Clock.Truncate(TimeSpan value, int precision)
HasFractionalPart¶
Check if DateTime value contains fractional part of seconds.
bool Energy.Base.Clock.HasFractionalPart(DateTime value)
Check if TimeSpan value contains fractional part of seconds.
bool Energy.Base.Clock.HasFractionalPart(TimeSpan value)
IsLeapYear¶
Sample subroutine to calculate if a year is a leap year.
bool Energy.Base.Clock.IsLeapYear(int year)