The date time scroller component is an alternative way to input a date, a time or both using the DATETIMESCROLLER_TYPE_TIME, DATETIMESCROLLER_TYPE_DATE and DATETIMESCROLLER_TYPE_DATETIME constants.

Setting the dtsMode param to one of the constants DATETIMESCROLLER_MODE_SCROLLER, DATETIMESCROLLER_MODE_CLICKPICK and DATETIMESCROLLER_MODE_MIXED, you can modify the look and feel even further.

Dim mydate As ABMDateTimeScroller
Dim NewDate As Long = DateTime.Now
mydate.Initialize(page, "mydate", ABM.DATETIMESCROLLER_TYPE_DATETIME, ABM.DATETIMESCROLLER_MODE_MIXED, NewDate, "Pick a date and a time", "")
mydate.DateDayNames = "['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']"
mydate.DateMonthNamesShort = "['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']"
mydate.TitleDateFormat = "DDD"
mydate.ReturnDateFormat = "mm/dd/yy" // <--- see demo source code for settings
mydate.TitleTimeFormat = ""          // <--- see demo source code for settings
mydate.ReturnTimeFormat = "HH:ii"    // <--- see demo source code for settings  
mydate.DateOrder = "Mddyy"           // <--- see demo source code for settings
mydate.TimeShowAMPM = False
mydate.CancelText = "Close"
mydate.PickText = "OK"
page.CellR(1,1).AddComponent(mydate)	

When changed, an event will be raised: YourComp_Changed(dataMilliseconds as String). The param is a string but can easily be converted to a long and a date.

Sub mydate_Changed(dateMilliseconds As String)
	// convert to a B4J date
	Dim BackDate As Long = dateMilliseconds
	DateTime.DateFormat = "MM/dd/yyyy"
	DateTime.TimeFormat = "HH:mm"
	
	myToastId = myToastId + 1	
	page.ShowToast("toast" & myToastId, "toastred", "Date/time: " & DateTime.Date(BackDate) & " " & DateTime.Time(BackDate), 5000)
End Sub

You can also set or get the components date/time using SetDate(date as long) and GetDate() as long methods.