If you want to get the initial and last day of a month, I have a ClassMethod to you (version 2, fixed an error found by Eduard):
<span class="hljs-keyword">ClassMethod</span> GetMonthPeriods(InitialYear <span class="hljs-keyword">As</span> <span class="hljs-built_in">%Integer</span>, EndYear <span class="hljs-keyword">As</span> <span class="hljs-built_in">%Integer</span>) <span class="hljs-keyword">As</span> <span class="hljs-built_in">%Status</span>
{
    <span class="hljs-keyword">set</span> sc = <span class="hljs-built_in">$$$OK</span>
    <span class="hljs-keyword">set</span> result = []
    <span class="hljs-keyword">For</span> CurrentYear = InitialYear:<span class="hljs-number">1</span>:EndYear {
        <span class="hljs-keyword">For</span> CurrentMonth = <span class="hljs-number">1</span>:<span class="hljs-number">1</span>:<span class="hljs-number">12</span> {
            <span class="hljs-keyword">set</span> item = {}
            <span class="hljs-keyword">If</span> CurrentMonth < <span class="hljs-number">10</span> {
                <span class="hljs-keyword">Set</span> CurrentMonthStr = <span class="hljs-string">"0"</span>_CurrentMonth
            } <span class="hljs-keyword">Else</span> {
                <span class="hljs-keyword">Set</span> CurrentMonthStr = <span class="hljs-string">""</span>_CurrentMonth
            }
            <span class="hljs-keyword">Set</span> item.StartDate = CurrentYear_<span class="hljs-string">"-"</span>_CurrentMonthStr_<span class="hljs-string">"-01T00:00:00"</span>
            <span class="hljs-keyword">Set</span> NextMonth = CurrentMonth + <span class="hljs-number">1</span>
            <span class="hljs-keyword">If</span> NextMonth = <span class="hljs-number">13</span> {
                <span class="hljs-keyword">Set</span> item.EndDate = CurrentYear_<span class="hljs-string">"-12-31T23:59:59"</span>
            } <span class="hljs-keyword">Else</span> {
                <span class="hljs-keyword">Set</span> NextDate = <span class="hljs-built_in">$SYSTEM</span>.SQL.Functions.TODATE(CurrentYear_<span class="hljs-string">"-"</span>_NextMonth_<span class="hljs-string">"-01"</span>,<span class="hljs-string">"YYY-MM-DD"</span>)
                <span class="hljs-keyword">Set</span> NextDate = <span class="hljs-built_in">$INCREMENT</span>(NextDate,-<span class="hljs-number">1</span>)
                <span class="hljs-keyword">set</span> item.EndDate = <span class="hljs-built_in">$ZDate</span>(NextDate,<span class="hljs-number">3</span>)_<span class="hljs-string">"T23:59:59"</span>
            }
            
            <span class="hljs-keyword">Do</span> result.<span class="hljs-built_in">%Push</span>(item)
        }
    }
    <span class="hljs-keyword">Write</span> result.<span class="hljs-built_in">%ToJSON</span>()

    <span class="hljs-keyword">Return</span> sc
}
The $SYSTEM.SQL.Functions.TODATE convert a string to a date and the $INCREMENT allows you increment or decrement a day from a date. When I call this method ..GetMonthPeriods(2022,2022) I got this:
[
    {
        "StartDate": "2022-01-01T00:00:00",
        "EndDate": "2022-01-31T23:59:59"
    },
    {
        "StartDate": "2022-02-01T00:00:00",
        "EndDate": "2022-02-28T23:59:59"
    },
    {
        "StartDate": "2022-03-01T00:00:00",
        "EndDate": "2022-03-31T23:59:59"
    },
    {
        "StartDate": "2022-04-01T00:00:00",
        "EndDate": "2022-04-30T23:59:59"
    },
    {
        "StartDate": "2022-05-01T00:00:00",
        "EndDate": "2022-05-31T23:59:59"
    },
    {
        "StartDate": "2022-06-01T00:00:00",
        "EndDate": "2022-06-30T23:59:59"
    },
    {
        "StartDate": "2022-07-01T00:00:00",
        "EndDate": "2022-07-31T23:59:59"
    },
    {
        "StartDate": "2022-08-01T00:00:00",
        "EndDate": "2022-08-31T23:59:59"
    },
    {
        "StartDate": "2022-09-01T00:00:00",
        "EndDate": "2022-09-30T23:59:59"
    },
    {
        "StartDate": "2022-10-01T00:00:00",
        "EndDate": "2022-10-31T23:59:59"
    },
    {
        "StartDate": "2022-11-01T00:00:00",
        "EndDate": "2022-11-30T23:59:59"
    },
    {
        "StartDate": "2022-12-01T00:00:00",
        "EndDate": "2022-12-31T23:59:59"
    }
]