may be
datetime('setDate',DateObject) -> set internal aDate variable and setText via formatter(dateObject)
datetime('getDate') -> get internal aDate variable
datetime('setValue',text) -> set internal aDate variable via parser(aText) and setText via formatter(dateObject)
datetime('getValue') -> getText
and Calendar -> (setDate, DateObject) (-> set internal aDate variable and setText via formatter(dateObject) )
now when I do ('SetDate',DateObject) // new Date().mySQLparser('1999-01-02 03:04:00')
widget do internal call ->formatter // 02 Jan 03:04
and then -> parse from TextBox
// error because my parser NOT FOR format 'DD mmm HH:MM'
// and if I do formatter for 'DD mmm HH:MM' in result year == 2020 !