forked from amrali/TimeUtils
544 lines
28 KiB
MQL5
544 lines
28 KiB
MQL5
//+------------------------------------------------------------------+
|
|
//| advanced.mq5 |
|
|
//| Copyright © 2026, Amr Ali |
|
|
//| https://www.mql5.com/en/users/amrali |
|
|
//+------------------------------------------------------------------+
|
|
// First day of the week used by all week-related functions.
|
|
// Optionally, override the default before including this header:
|
|
//
|
|
// #define TIMEUTILS_FIRST_DAY_OF_WEEK SUNDAY
|
|
// #include "TimeUtils.mqh"
|
|
//
|
|
// Valid values: SUNDAY or MONDAY (default: MONDAY).
|
|
|
|
#include "TimeUtils.mqh"
|
|
|
|
int counter = 0;
|
|
|
|
#define PRINT(A) Print((string)++counter + ". " + #A + " = ", (A))
|
|
|
|
void OnStart()
|
|
{
|
|
// The time to process
|
|
const datetime t = TimeLocal();
|
|
PRINT( TimeToString(t, TIME_DATE|TIME_SECONDS) ); // MQL's native TimeToString()
|
|
PRINT( CTimeUtils::t2s( t, TIME_DATE|TIME_SECONDS) ); // Formats time with the weekday name
|
|
|
|
//+==================================================================+
|
|
//| Break datetime To Components |
|
|
//+==================================================================+
|
|
MqlDateTime dt[1] = {};
|
|
|
|
PRINT( CTimeUtils::TimeToStructFast(t, dt[0]) );
|
|
|
|
ArrayPrint(dt);
|
|
|
|
//####################################################################
|
|
//# #
|
|
//# Construction #
|
|
//# #
|
|
//####################################################################
|
|
|
|
PRINT( CTimeUtils::DateFrom(2022, 03, 25) );
|
|
|
|
PRINT( CTimeUtils::StructToTimeFast(dt[0]) );
|
|
|
|
//####################################################################
|
|
//# #
|
|
//# Calendar Components #
|
|
//# #
|
|
//####################################################################
|
|
|
|
//+==================================================================+
|
|
//| Extract Components of datetime: Sunday, yyyy.mm.dd hh:mm:ss |
|
|
//| Get() Units |
|
|
//+==================================================================+
|
|
PRINT( CTimeUtils::Second(t) );
|
|
PRINT( CTimeUtils::Minute(t) );
|
|
PRINT( CTimeUtils::Hour(t) );
|
|
PRINT( CTimeUtils::Day(t) );
|
|
PRINT( CTimeUtils::Month(t) );
|
|
PRINT( CTimeUtils::Year(t) );
|
|
|
|
PRINT( CTimeUtils::DateOnly(t) );
|
|
PRINT( CTimeUtils::TimeOnly(t) );
|
|
|
|
//+==================================================================+
|
|
//| CTimeUtils::Day() Number |
|
|
//+==================================================================+
|
|
PRINT( CTimeUtils::DayOfWeek(t) );
|
|
PRINT( CTimeUtils::DayOfYear(t) );
|
|
|
|
//+==================================================================+
|
|
//| Week() Number |
|
|
//+==================================================================+
|
|
PRINT( CTimeUtils::WeekOfMonth(t) );
|
|
PRINT( CTimeUtils::WeekOfYear(t) );
|
|
|
|
//+==================================================================+
|
|
//| Epoch-Based Indices |
|
|
//+==================================================================+
|
|
PRINT( CTimeUtils::MinuteIndex(t) );
|
|
PRINT( CTimeUtils::HourIndex(t) );
|
|
PRINT( CTimeUtils::DayIndex(t) );
|
|
PRINT( CTimeUtils::WeekIndex(t) );
|
|
PRINT( CTimeUtils::MonthIndex(t) );
|
|
PRINT( CTimeUtils::QuarterIndex(t) );
|
|
PRINT( CTimeUtils::YearIndex(t) );
|
|
|
|
//+==================================================================+
|
|
//| CTimeUtils::Quarter() Number |
|
|
//+==================================================================+
|
|
PRINT( CTimeUtils::Quarter(t) );
|
|
|
|
//+==================================================================+
|
|
//| HourOf() Units |
|
|
//+==================================================================+
|
|
PRINT( CTimeUtils::HourOfWeek(t) );
|
|
PRINT( CTimeUtils::HourOfMonth(t) );
|
|
PRINT( CTimeUtils::HourOfQuarter(t) );
|
|
PRINT( CTimeUtils::HourOfYear(t) );
|
|
|
|
//+==================================================================+
|
|
//| MinuteOf() Units |
|
|
//+==================================================================+
|
|
PRINT( CTimeUtils::MinuteOfDay(t) );
|
|
PRINT( CTimeUtils::MinuteOfWeek(t) );
|
|
PRINT( CTimeUtils::MinuteOfMonth(t) );
|
|
PRINT( CTimeUtils::MinuteOfQuarter(t) );
|
|
PRINT( CTimeUtils::MinuteOfYear(t) );
|
|
|
|
//+==================================================================+
|
|
//| SecsElapsedOf() Units |
|
|
//+==================================================================+
|
|
PRINT( CTimeUtils::SecsElapsedOfMinute(t) );
|
|
PRINT( CTimeUtils::SecsElapsedOfHour(t) );
|
|
PRINT( CTimeUtils::SecsElapsedOfDay(t) );
|
|
PRINT( CTimeUtils::SecsElapsedOfWeek(t) );
|
|
PRINT( CTimeUtils::SecsElapsedOfMonth(t) );
|
|
PRINT( CTimeUtils::SecsElapsedOfQuarter(t) );
|
|
PRINT( CTimeUtils::SecsElapsedOfYear(t) );
|
|
PRINT( CTimeUtils::SecsElapsedOfEpoch(t) );
|
|
|
|
//####################################################################
|
|
//# #
|
|
//# Adjusters / Navigation #
|
|
//# #
|
|
//####################################################################
|
|
|
|
//+==================================================================+
|
|
//| StartOf() Units |
|
|
//+==================================================================+
|
|
PRINT( CTimeUtils::StartOfMinute(t) );
|
|
PRINT( CTimeUtils::StartOfHour(t) );
|
|
PRINT( CTimeUtils::StartOfDay(t) );
|
|
PRINT( CTimeUtils::StartOfWeek(t) );
|
|
PRINT( CTimeUtils::StartOfMonth(t) );
|
|
PRINT( CTimeUtils::StartOfQuarter(t) );
|
|
PRINT( CTimeUtils::StartOfYear(t) );
|
|
PRINT( CTimeUtils::StartOfToday() );
|
|
PRINT( CTimeUtils::StartOfTomorrow() );
|
|
PRINT( CTimeUtils::StartOfYesterday() );
|
|
|
|
//+==================================================================+
|
|
//| EndOf() Units |
|
|
//+==================================================================+
|
|
PRINT( CTimeUtils::EndOfMinute(t) );
|
|
PRINT( CTimeUtils::EndOfHour(t) );
|
|
PRINT( CTimeUtils::EndOfDay(t) );
|
|
PRINT( CTimeUtils::EndOfWeek(t) );
|
|
PRINT( CTimeUtils::EndOfMonth(t) );
|
|
PRINT( CTimeUtils::EndOfQuarter(t) );
|
|
PRINT( CTimeUtils::EndOfYear(t) );
|
|
PRINT( CTimeUtils::EndOfToday() );
|
|
PRINT( CTimeUtils::EndOfTomorrow() );
|
|
PRINT( CTimeUtils::EndOfYesterday() );
|
|
|
|
//+==================================================================+
|
|
//| LastDayOf() Units |
|
|
//+==================================================================+
|
|
PRINT( CTimeUtils::LastDayOfWeek(t) );
|
|
PRINT( CTimeUtils::LastDayOfMonth(t) );
|
|
PRINT( CTimeUtils::LastDayOfQuarter(t) );
|
|
PRINT( CTimeUtils::LastDayOfYear(t) );
|
|
|
|
//+==================================================================+
|
|
//| RoundTo() / Nearest() Units |
|
|
//+==================================================================+
|
|
PRINT( CTimeUtils::RoundToMinute(t) );
|
|
PRINT( CTimeUtils::RoundToHour(t) );
|
|
PRINT( CTimeUtils::RoundToDay(t) );
|
|
PRINT( CTimeUtils::RoundToWeek(t) );
|
|
|
|
//+==================================================================+
|
|
//| CeilTo() / Next() Units |
|
|
//+==================================================================+
|
|
PRINT( CTimeUtils::CeilToMinute(t) );
|
|
PRINT( CTimeUtils::CeilToHour(t) );
|
|
PRINT( CTimeUtils::CeilToDay(t) );
|
|
PRINT( CTimeUtils::CeilToWeek(t) );
|
|
|
|
//+==================================================================+
|
|
//| Next() Weekday |
|
|
//+==================================================================+
|
|
PRINT( CTimeUtils::NextSunday(t) );
|
|
PRINT( CTimeUtils::NextMonday(t) );
|
|
PRINT( CTimeUtils::NextTuesday(t) );
|
|
PRINT( CTimeUtils::NextWednesday(t) );
|
|
PRINT( CTimeUtils::NextThursday(t) );
|
|
PRINT( CTimeUtils::NextFriday(t) );
|
|
PRINT( CTimeUtils::NextSaturday(t) );
|
|
|
|
//+==================================================================+
|
|
//| Previous() Weekday |
|
|
//+==================================================================+
|
|
PRINT( CTimeUtils::PreviousSunday(t) );
|
|
PRINT( CTimeUtils::PreviousMonday(t) );
|
|
PRINT( CTimeUtils::PreviousTuesday(t) );
|
|
PRINT( CTimeUtils::PreviousWednesday(t) );
|
|
PRINT( CTimeUtils::PreviousThursday(t) );
|
|
PRINT( CTimeUtils::PreviousFriday(t) );
|
|
PRINT( CTimeUtils::PreviousSaturday(t) );
|
|
|
|
//+==================================================================+
|
|
//| Nth() Weekday Of The Month |
|
|
//+==================================================================+
|
|
PRINT( CTimeUtils::FirstWeekdayOfMonth(t, SUNDAY) );
|
|
PRINT( CTimeUtils::LastWeekdayOfMonth(t, SUNDAY) );
|
|
|
|
//+==================================================================+
|
|
//| WithXxx() / Replace() Units |
|
|
//+==================================================================+
|
|
PRINT( CTimeUtils::WithSecond(t, 05) );
|
|
PRINT( CTimeUtils::WithMinute(t, 30) );
|
|
PRINT( CTimeUtils::WithHour(t, 10) );
|
|
PRINT( CTimeUtils::WithDay(t, 26) );
|
|
PRINT( CTimeUtils::WithMonth(t, 2) );
|
|
PRINT( CTimeUtils::WithYear(t, 2024) );
|
|
PRINT( CTimeUtils::WithDayOfWeek(t, FRIDAY) );
|
|
PRINT( CTimeUtils::WithTime(t, 10, 30, 05) );
|
|
PRINT( CTimeUtils::WithDate(t, 2024, 2, 26) );
|
|
|
|
//####################################################################
|
|
//# #
|
|
//# Addition and Subtraction #
|
|
//# #
|
|
//####################################################################
|
|
|
|
//+==================================================================+
|
|
//| Add() Units |
|
|
//+==================================================================+
|
|
PRINT( CTimeUtils::AddSeconds(t, 30) );
|
|
PRINT( CTimeUtils::AddMinutes(t, 30) );
|
|
PRINT( CTimeUtils::AddHours(t, 2) );
|
|
PRINT( CTimeUtils::AddDays(t, 10) );
|
|
PRINT( CTimeUtils::AddBusinessDays(t, 10) );
|
|
PRINT( CTimeUtils::AddWeeks(t, 4) );
|
|
PRINT( CTimeUtils::AddMonths(t, 2) );
|
|
PRINT( CTimeUtils::AddQuarters(t, 3) );
|
|
PRINT( CTimeUtils::AddYears(t, 5) );
|
|
|
|
//+==================================================================+
|
|
//| Sub() Units |
|
|
//+==================================================================+
|
|
PRINT( CTimeUtils::SubSeconds(t, 30) );
|
|
PRINT( CTimeUtils::SubMinutes(t, 30) );
|
|
PRINT( CTimeUtils::SubHours(t, 2) );
|
|
PRINT( CTimeUtils::SubDays(t, 10) );
|
|
PRINT( CTimeUtils::SubBusinessDays(t, 10) );
|
|
PRINT( CTimeUtils::SubWeeks(t, 4) );
|
|
PRINT( CTimeUtils::SubMonths(t, 2) );
|
|
PRINT( CTimeUtils::SubQuarters(t, 3) );
|
|
PRINT( CTimeUtils::SubYears(t, 5) );
|
|
|
|
//####################################################################
|
|
//# #
|
|
//# Difference #
|
|
//# #
|
|
//####################################################################
|
|
|
|
//+==================================================================+
|
|
//| DifferenceIn() Units |
|
|
//+==================================================================+
|
|
PRINT( CTimeUtils::DifferenceInCalendarDays( CTimeUtils::StartOfYear(t), CTimeUtils::EndOfYear(t)) );
|
|
PRINT( CTimeUtils::DifferenceInCalendarWeeks( CTimeUtils::StartOfYear(t), CTimeUtils::EndOfYear(t)) );
|
|
PRINT( CTimeUtils::DifferenceInCalendarMonths( CTimeUtils::StartOfYear(t), CTimeUtils::EndOfYear(t)) );
|
|
PRINT( CTimeUtils::DifferenceInCalendarQuarters( CTimeUtils::StartOfYear(t), CTimeUtils::EndOfYear(t)) );
|
|
PRINT( CTimeUtils::DifferenceInCalendarYears( CTimeUtils::StartOfYear(t), CTimeUtils::EndOfYear(t)) );
|
|
PRINT( CTimeUtils::DifferenceInSeconds( t, CTimeUtils::EndOfDay(t)) );
|
|
PRINT( CTimeUtils::DifferenceInMinutes( t, CTimeUtils::EndOfDay(t)) );
|
|
PRINT( CTimeUtils::DifferenceInHours( t, CTimeUtils::EndOfDay(t)) );
|
|
PRINT( CTimeUtils::DifferenceInDays( CTimeUtils::StartOfYear(t), CTimeUtils::EndOfYear(t)) );
|
|
PRINT( CTimeUtils::DifferenceInWeeks( CTimeUtils::StartOfYear(t), CTimeUtils::EndOfYear(t)) );
|
|
PRINT( CTimeUtils::DifferenceInMonths( CTimeUtils::StartOfYear(t), CTimeUtils::EndOfYear(t)) );
|
|
PRINT( CTimeUtils::DifferenceInQuarters( CTimeUtils::StartOfYear(t), CTimeUtils::EndOfYear(t)) );
|
|
PRINT( CTimeUtils::DifferenceInYears( CTimeUtils::StartOfYear(t), CTimeUtils::EndOfYear(t)) );
|
|
PRINT( CTimeUtils::DifferenceInBusinessDays( CTimeUtils::StartOfYear(t), CTimeUtils::EndOfYear(t)) );
|
|
PRINT( CTimeUtils::DifferenceInWeekendDays( CTimeUtils::StartOfYear(t), CTimeUtils::EndOfYear(t)) );
|
|
MqlDateTime diff;
|
|
PRINT( CTimeUtils::CalendarDifference( t, D'2035.10.9', diff ) );
|
|
PRINT( CTimeUtils::CalendarDifferenceToString( t, D'2035.10.9' ) );
|
|
PRINT( CTimeUtils::AddPeriod( t, diff ) );
|
|
PRINT( CTimeUtils::SubPeriod( D'2035.10.9', diff ) );
|
|
|
|
//####################################################################
|
|
//# #
|
|
//# Comparison and Checks #
|
|
//# #
|
|
//####################################################################
|
|
|
|
//+==================================================================+
|
|
//| Is() Checks |
|
|
//+==================================================================+
|
|
PRINT( CTimeUtils::IsFirstDayOfMonth(t) );
|
|
PRINT( CTimeUtils::IsLastDayOfMonth(t) );
|
|
PRINT( CTimeUtils::IsWeekend(t) );
|
|
PRINT( CTimeUtils::IsWeekday(t) );
|
|
PRINT( CTimeUtils::IsSunday(t) );
|
|
PRINT( CTimeUtils::IsMonday(t) );
|
|
PRINT( CTimeUtils::IsTuesday(t) );
|
|
PRINT( CTimeUtils::IsWednesday(t) );
|
|
PRINT( CTimeUtils::IsThursday(t) );
|
|
PRINT( CTimeUtils::IsFriday(t) );
|
|
PRINT( CTimeUtils::IsSaturday(t) );
|
|
|
|
//+==================================================================+
|
|
//| IsSame() Units |
|
|
//+==================================================================+
|
|
PRINT( CTimeUtils::IsSameMinute(t, CTimeUtils::AddHours(t, 25)) );
|
|
PRINT( CTimeUtils::IsSameHour(t, CTimeUtils::AddHours(t, 25)) );
|
|
PRINT( CTimeUtils::IsSameDay(t, CTimeUtils::AddHours(t, 25)) );
|
|
PRINT( CTimeUtils::IsSameWeek(t, CTimeUtils::AddHours(t, 25)) );
|
|
PRINT( CTimeUtils::IsSameMonth(t, CTimeUtils::AddHours(t, 25)) );
|
|
PRINT( CTimeUtils::IsSameQuarter(t, CTimeUtils::AddHours(t, 25)) );
|
|
PRINT( CTimeUtils::IsSameYear(t, CTimeUtils::AddHours(t, 25)) );
|
|
|
|
//+==================================================================+
|
|
//| IsCurrent() Units |
|
|
//+==================================================================+
|
|
PRINT( CTimeUtils::IsCurrentMinute(t) );
|
|
PRINT( CTimeUtils::IsCurrentHour(t) );
|
|
PRINT( CTimeUtils::IsCurrentWeek(t) );
|
|
PRINT( CTimeUtils::IsCurrentMonth(t) );
|
|
PRINT( CTimeUtils::IsCurrentQuarter(t) );
|
|
PRINT( CTimeUtils::IsCurrentYear(t) );
|
|
PRINT( CTimeUtils::IsToday(t) );
|
|
PRINT( CTimeUtils::IsTomorrow(t) );
|
|
PRINT( CTimeUtils::IsYesterday(t) );
|
|
|
|
//+==================================================================+
|
|
//| Session() Checks |
|
|
//+==================================================================+
|
|
PRINT( CTimeUtils::IsInSession(8, 0, 17, 0) ); // Uses TimeTradeServer()
|
|
PRINT( CTimeUtils::IsInSession("22:00", "06:00") );
|
|
|
|
//+==================================================================+
|
|
//| Misc |
|
|
//+==================================================================+
|
|
PRINT( CTimeUtils::IsLeapYear(2100) );
|
|
PRINT( CTimeUtils::DaysInYear(2100) );
|
|
PRINT( CTimeUtils::DaysInMonth(2024, 2) );
|
|
PRINT( CTimeUtils::WeeksInYear(2026) );
|
|
PRINT( CTimeUtils::WeeksInMonth(2026, 8) );
|
|
|
|
//####################################################################
|
|
//# #
|
|
//# Format & Display #
|
|
//# #
|
|
//####################################################################
|
|
|
|
//+==================================================================+
|
|
//| Formating Time to String |
|
|
//+==================================================================+
|
|
PRINT( TimeToString(t) ); // MQL's native TimeToString()
|
|
PRINT( CTimeUtils::t2s(t) ); // Formats time with the weekday name
|
|
PRINT( CTimeUtils::TimeFormat(t) );
|
|
PRINT( CTimeUtils::TimeFormat(t, "DDD, YYYY.MM.DD hh:mm:ss") );
|
|
PRINT( CTimeUtils::TimeFormat(t, "DDDD, D MMM YYYY, HH:mm a") );
|
|
PRINT( CTimeUtils::SecondsToString( CTimeUtils::SecsElapsedOfDay(t) ) );
|
|
}
|
|
//+------------------------------------------------------------------+
|
|
|
|
/*
|
|
example output:
|
|
|
|
1. TimeToString(t, TIME_DATE|TIME_SECONDS) = 2026.07.18 19:54:28
|
|
2. CTimeUtils::t2s( t, TIME_DATE|TIME_SECONDS) = Sat, 2026.07.18 19:54:28
|
|
3. CTimeUtils::TimeToStructFast(t, dt[0]) = true
|
|
[year] [mon] [day] [hour] [min] [sec] [day_of_week] [day_of_year]
|
|
[0] 2026 7 18 19 54 28 6 198
|
|
4. CTimeUtils::DateFrom(2022, 03, 25) = 2022.03.25 00:00:00
|
|
5. CTimeUtils::StructToTimeFast(dt[0]) = 2026.07.18 19:54:28
|
|
6. CTimeUtils::Second(t) = 28
|
|
7. CTimeUtils::Minute(t) = 54
|
|
8. CTimeUtils::Hour(t) = 19
|
|
9. CTimeUtils::Day(t) = 18
|
|
10. CTimeUtils::Month(t) = 7
|
|
11. CTimeUtils::Year(t) = 2026
|
|
12. CTimeUtils::DateOnly(t) = 2026.07.18 00:00:00
|
|
13. CTimeUtils::TimeOnly(t) = 1970.01.01 19:54:28
|
|
14. CTimeUtils::DayOfWeek(t) = 6
|
|
15. CTimeUtils::DayOfYear(t) = 198
|
|
16. CTimeUtils::WeekOfMonth(t) = 3
|
|
17. CTimeUtils::WeekOfYear(t) = 29
|
|
18. CTimeUtils::MinuteIndex(t) = 29740074
|
|
19. CTimeUtils::HourIndex(t) = 495667
|
|
20. CTimeUtils::DayIndex(t) = 20652
|
|
21. CTimeUtils::WeekIndex(t) = 2950
|
|
22. CTimeUtils::MonthIndex(t) = 678
|
|
23. CTimeUtils::QuarterIndex(t) = 226
|
|
24. CTimeUtils::YearIndex(t) = 56
|
|
25. CTimeUtils::Quarter(t) = 3
|
|
26. CTimeUtils::HourOfWeek(t) = 139
|
|
27. CTimeUtils::HourOfMonth(t) = 427
|
|
28. CTimeUtils::HourOfQuarter(t) = 427
|
|
29. CTimeUtils::HourOfYear(t) = 4771
|
|
30. CTimeUtils::MinuteOfDay(t) = 1194
|
|
31. CTimeUtils::MinuteOfWeek(t) = 8394
|
|
32. CTimeUtils::MinuteOfMonth(t) = 25674
|
|
33. CTimeUtils::MinuteOfQuarter(t) = 25674
|
|
34. CTimeUtils::MinuteOfYear(t) = 286314
|
|
35. CTimeUtils::SecsElapsedOfMinute(t) = 28
|
|
36. CTimeUtils::SecsElapsedOfHour(t) = 3268
|
|
37. CTimeUtils::SecsElapsedOfDay(t) = 71668
|
|
38. CTimeUtils::SecsElapsedOfWeek(t) = 503668
|
|
39. CTimeUtils::SecsElapsedOfMonth(t) = 1540468
|
|
40. CTimeUtils::SecsElapsedOfQuarter(t) = 1540468
|
|
41. CTimeUtils::SecsElapsedOfYear(t) = 17178868
|
|
42. CTimeUtils::SecsElapsedOfEpoch(t) = 1784404468
|
|
43. CTimeUtils::StartOfMinute(t) = 2026.07.18 19:54:00
|
|
44. CTimeUtils::StartOfHour(t) = 2026.07.18 19:00:00
|
|
45. CTimeUtils::StartOfDay(t) = 2026.07.18 00:00:00
|
|
46. CTimeUtils::StartOfWeek(t) = 2026.07.13 00:00:00
|
|
47. CTimeUtils::StartOfMonth(t) = 2026.07.01 00:00:00
|
|
48. CTimeUtils::StartOfQuarter(t) = 2026.07.01 00:00:00
|
|
49. CTimeUtils::StartOfYear(t) = 2026.01.01 00:00:00
|
|
50. CTimeUtils::StartOfToday() = 2026.07.18 00:00:00
|
|
51. CTimeUtils::StartOfTomorrow() = 2026.07.19 00:00:00
|
|
52. CTimeUtils::StartOfYesterday() = 2026.07.17 00:00:00
|
|
53. CTimeUtils::EndOfMinute(t) = 2026.07.18 19:54:59
|
|
54. CTimeUtils::EndOfHour(t) = 2026.07.18 19:59:59
|
|
55. CTimeUtils::EndOfDay(t) = 2026.07.18 23:59:59
|
|
56. CTimeUtils::EndOfWeek(t) = 2026.07.19 23:59:59
|
|
57. CTimeUtils::EndOfMonth(t) = 2026.07.31 23:59:59
|
|
58. CTimeUtils::EndOfQuarter(t) = 2026.09.30 23:59:59
|
|
59. CTimeUtils::EndOfYear(t) = 2026.12.31 23:59:59
|
|
60. CTimeUtils::EndOfToday() = 2026.07.18 23:59:59
|
|
61. CTimeUtils::EndOfTomorrow() = 2026.07.19 23:59:59
|
|
62. CTimeUtils::EndOfYesterday() = 2026.07.17 23:59:59
|
|
63. CTimeUtils::LastDayOfWeek(t) = 2026.07.19 00:00:00
|
|
64. CTimeUtils::LastDayOfMonth(t) = 2026.07.31 00:00:00
|
|
65. CTimeUtils::LastDayOfQuarter(t) = 2026.09.30 00:00:00
|
|
66. CTimeUtils::LastDayOfYear(t) = 2026.12.31 00:00:00
|
|
67. CTimeUtils::RoundToMinute(t) = 2026.07.18 19:54:00
|
|
68. CTimeUtils::RoundToHour(t) = 2026.07.18 20:00:00
|
|
69. CTimeUtils::RoundToDay(t) = 2026.07.19 00:00:00
|
|
70. CTimeUtils::RoundToWeek(t) = 2026.07.20 00:00:00
|
|
71. CTimeUtils::CeilToMinute(t) = 2026.07.18 19:55:00
|
|
72. CTimeUtils::CeilToHour(t) = 2026.07.18 20:00:00
|
|
73. CTimeUtils::CeilToDay(t) = 2026.07.19 00:00:00
|
|
74. CTimeUtils::CeilToWeek(t) = 2026.07.20 00:00:00
|
|
75. CTimeUtils::NextSunday(t) = 2026.07.19 00:00:00
|
|
76. CTimeUtils::NextMonday(t) = 2026.07.20 00:00:00
|
|
77. CTimeUtils::NextTuesday(t) = 2026.07.21 00:00:00
|
|
78. CTimeUtils::NextWednesday(t) = 2026.07.22 00:00:00
|
|
79. CTimeUtils::NextThursday(t) = 2026.07.23 00:00:00
|
|
80. CTimeUtils::NextFriday(t) = 2026.07.24 00:00:00
|
|
81. CTimeUtils::NextSaturday(t) = 2026.07.25 00:00:00
|
|
82. CTimeUtils::PreviousSunday(t) = 2026.07.12 00:00:00
|
|
83. CTimeUtils::PreviousMonday(t) = 2026.07.13 00:00:00
|
|
84. CTimeUtils::PreviousTuesday(t) = 2026.07.14 00:00:00
|
|
85. CTimeUtils::PreviousWednesday(t) = 2026.07.15 00:00:00
|
|
86. CTimeUtils::PreviousThursday(t) = 2026.07.16 00:00:00
|
|
87. CTimeUtils::PreviousFriday(t) = 2026.07.17 00:00:00
|
|
88. CTimeUtils::PreviousSaturday(t) = 2026.07.11 00:00:00
|
|
89. CTimeUtils::FirstWeekdayOfMonth(t, SUNDAY) = 2026.07.05 00:00:00
|
|
90. CTimeUtils::LastWeekdayOfMonth(t, SUNDAY) = 2026.07.26 00:00:00
|
|
91. CTimeUtils::WithSecond(t, 05) = 2026.07.18 19:54:05
|
|
92. CTimeUtils::WithMinute(t, 30) = 2026.07.18 19:30:28
|
|
93. CTimeUtils::WithHour(t, 10) = 2026.07.18 10:54:28
|
|
94. CTimeUtils::WithDay(t, 26) = 2026.07.26 19:54:28
|
|
95. CTimeUtils::WithMonth(t, 2) = 2026.02.18 19:54:28
|
|
96. CTimeUtils::WithYear(t, 2024) = 2024.07.18 19:54:28
|
|
97. CTimeUtils::WithDayOfWeek(t, FRIDAY) = 2026.07.17 19:54:28
|
|
98. CTimeUtils::WithTime(t, 10, 30, 05) = 2026.07.18 10:30:05
|
|
99. CTimeUtils::WithDate(t, 2024, 2, 26) = 2024.02.26 19:54:28
|
|
100. CTimeUtils::AddSeconds(t, 30) = 2026.07.18 19:54:58
|
|
101. CTimeUtils::AddMinutes(t, 30) = 2026.07.18 20:24:28
|
|
102. CTimeUtils::AddHours(t, 2) = 2026.07.18 21:54:28
|
|
103. CTimeUtils::AddDays(t, 10) = 2026.07.28 19:54:28
|
|
104. CTimeUtils::AddBusinessDays(t, 10) = 2026.07.31 19:54:28
|
|
105. CTimeUtils::AddWeeks(t, 4) = 2026.08.15 19:54:28
|
|
106. CTimeUtils::AddMonths(t, 2) = 2026.09.18 19:54:28
|
|
107. CTimeUtils::AddQuarters(t, 3) = 2027.04.18 19:54:28
|
|
108. CTimeUtils::AddYears(t, 5) = 2031.07.18 19:54:28
|
|
109. CTimeUtils::SubSeconds(t, 30) = 2026.07.18 19:53:58
|
|
110. CTimeUtils::SubMinutes(t, 30) = 2026.07.18 19:24:28
|
|
111. CTimeUtils::SubHours(t, 2) = 2026.07.18 17:54:28
|
|
112. CTimeUtils::SubDays(t, 10) = 2026.07.08 19:54:28
|
|
113. CTimeUtils::SubBusinessDays(t, 10) = 2026.07.06 19:54:28
|
|
114. CTimeUtils::SubWeeks(t, 4) = 2026.06.20 19:54:28
|
|
115. CTimeUtils::SubMonths(t, 2) = 2026.05.18 19:54:28
|
|
116. CTimeUtils::SubQuarters(t, 3) = 2025.10.18 19:54:28
|
|
117. CTimeUtils::SubYears(t, 5) = 2021.07.18 19:54:28
|
|
118. CTimeUtils::DifferenceInCalendarDays( CTimeUtils::StartOfYear(t), CTimeUtils::EndOfYear(t)) = 364
|
|
119. CTimeUtils::DifferenceInCalendarWeeks( CTimeUtils::StartOfYear(t), CTimeUtils::EndOfYear(t)) = 52
|
|
120. CTimeUtils::DifferenceInCalendarMonths( CTimeUtils::StartOfYear(t), CTimeUtils::EndOfYear(t)) = 11
|
|
121. CTimeUtils::DifferenceInCalendarQuarters( CTimeUtils::StartOfYear(t), CTimeUtils::EndOfYear(t)) = 3
|
|
122. CTimeUtils::DifferenceInCalendarYears( CTimeUtils::StartOfYear(t), CTimeUtils::EndOfYear(t)) = 0
|
|
123. CTimeUtils::DifferenceInSeconds( t, CTimeUtils::EndOfDay(t)) = 14731
|
|
124. CTimeUtils::DifferenceInMinutes( t, CTimeUtils::EndOfDay(t)) = 245
|
|
125. CTimeUtils::DifferenceInHours( t, CTimeUtils::EndOfDay(t)) = 4
|
|
126. CTimeUtils::DifferenceInDays( CTimeUtils::StartOfYear(t), CTimeUtils::EndOfYear(t)) = 364
|
|
127. CTimeUtils::DifferenceInWeeks( CTimeUtils::StartOfYear(t), CTimeUtils::EndOfYear(t)) = 52
|
|
128. CTimeUtils::DifferenceInMonths( CTimeUtils::StartOfYear(t), CTimeUtils::EndOfYear(t)) = 11
|
|
129. CTimeUtils::DifferenceInQuarters( CTimeUtils::StartOfYear(t), CTimeUtils::EndOfYear(t)) = 3
|
|
130. CTimeUtils::DifferenceInYears( CTimeUtils::StartOfYear(t), CTimeUtils::EndOfYear(t)) = 0
|
|
131. CTimeUtils::DifferenceInBusinessDays( CTimeUtils::StartOfYear(t), CTimeUtils::EndOfYear(t)) = 260
|
|
132. CTimeUtils::DifferenceInWeekendDays( CTimeUtils::StartOfYear(t), CTimeUtils::EndOfYear(t)) = 104
|
|
133. CTimeUtils::CalendarDifference( t, D'2035.10.9', diff ) = true
|
|
134. CTimeUtils::CalendarDifferenceToString( t, D'2035.10.9' ) = 9y 2m 20d 04:05:32
|
|
135. CTimeUtils::AddPeriod( t, diff ) = 2035.10.09 00:00:00
|
|
136. CTimeUtils::SubPeriod( D'2035.10.9', diff ) = 2026.07.18 19:54:28
|
|
137. CTimeUtils::IsFirstDayOfMonth(t) = false
|
|
138. CTimeUtils::IsLastDayOfMonth(t) = false
|
|
139. CTimeUtils::IsWeekend(t) = true
|
|
140. CTimeUtils::IsWeekday(t) = false
|
|
141. CTimeUtils::IsSunday(t) = false
|
|
142. CTimeUtils::IsMonday(t) = false
|
|
143. CTimeUtils::IsTuesday(t) = false
|
|
144. CTimeUtils::IsWednesday(t) = false
|
|
145. CTimeUtils::IsThursday(t) = false
|
|
146. CTimeUtils::IsFriday(t) = false
|
|
147. CTimeUtils::IsSaturday(t) = true
|
|
148. CTimeUtils::IsSameMinute(t, CTimeUtils::AddHours(t, 25)) = false
|
|
149. CTimeUtils::IsSameHour(t, CTimeUtils::AddHours(t, 25)) = false
|
|
150. CTimeUtils::IsSameDay(t, CTimeUtils::AddHours(t, 25)) = false
|
|
151. CTimeUtils::IsSameWeek(t, CTimeUtils::AddHours(t, 25)) = true
|
|
152. CTimeUtils::IsSameMonth(t, CTimeUtils::AddHours(t, 25)) = true
|
|
153. CTimeUtils::IsSameQuarter(t, CTimeUtils::AddHours(t, 25)) = true
|
|
154. CTimeUtils::IsSameYear(t, CTimeUtils::AddHours(t, 25)) = true
|
|
155. CTimeUtils::IsCurrentMinute(t) = true
|
|
156. CTimeUtils::IsCurrentHour(t) = true
|
|
157. CTimeUtils::IsCurrentWeek(t) = true
|
|
158. CTimeUtils::IsCurrentMonth(t) = true
|
|
159. CTimeUtils::IsCurrentQuarter(t) = true
|
|
160. CTimeUtils::IsCurrentYear(t) = true
|
|
161. CTimeUtils::IsToday(t) = true
|
|
162. CTimeUtils::IsTomorrow(t) = false
|
|
163. CTimeUtils::IsYesterday(t) = false
|
|
164. CTimeUtils::IsInSession(8, 0, 17, 0) = false
|
|
165. CTimeUtils::IsInSession(22:00, 06:00) = false
|
|
166. CTimeUtils::IsLeapYear(2100) = false
|
|
167. CTimeUtils::DaysInYear(2100) = 365
|
|
168. CTimeUtils::DaysInMonth(2024, 2) = 29
|
|
169. CTimeUtils::WeeksInYear(2026) = 53
|
|
170. CTimeUtils::WeeksInMonth(2026, 8) = 6
|
|
171. TimeToString(t) = 2026.07.18 19:54
|
|
172. CTimeUtils::t2s(t) = Sat, 2026.07.18 19:54
|
|
173. CTimeUtils::TimeFormat(t) = 2026.07.18 19:54
|
|
174. CTimeUtils::TimeFormat(t, DDD, YYYY.MM.DD hh:mm:ss) = Sat, 2026.07.18 19:54:28
|
|
175. CTimeUtils::TimeFormat(t, DDDD, D MMM YYYY, HH:mm a) = Saturday, 18 Jul 2026, 07:54 pm
|
|
176. CTimeUtils::SecondsToString( CTimeUtils::SecsElapsedOfDay(t) ) = 19:54:28
|
|
|
|
*/
|