Compute is not a cultured method
Even though, in the constructor for my WinForms app I do this...
Thread.CurrentThread.CurrentCulture = New CultureInfo("en-AU")
I'm finding that the MIN, MAX functions for DataTable querying seem to use en-US under-the-covers...
mdtmMinDate = Convert.ToDateTime(mobjTimeSheetGrid.Compute("MIN(TimesheetDate)", ""))
mdtmMaxDate = Convert.ToDateTime(mobjTimeSheetGrid.Compute("MAX(TimesheetDate)", ""))
So, I had to roll my own :(
mdtmMinDate = Convert.ToDateTime(mobjTimeSheetGrid.Compute("MIN(TimesheetDate)", ""))
mdtmMaxDate = Convert.ToDateTime(mobjTimeSheetGrid.Compute("MAX(TimesheetDate)", ""))
For Each row As TimeSheet.TimeSheetRow In vobjTimesheetGrid.Rows
Dim tmpDate As String = row.TimesheetDate
If CDate(tmpDate).CompareTo(mdtmMinDate) = -1 Then
mdtmMinDate = CDate(tmpDate)
End If
If CDate(tmpDate).CompareTo(mdtmMaxDate) = 1 Then
mdtmMaxDate = CDate(tmpDate)
End If
Next
Further information about Compute method:
DataTable.Compute - the filter parameter Compute - MS docs