Log(DateUtils.TicksToString(LastSunday))
Sub LastSunday As Long
Dim d As Int = DateTime.GetDayOfWeek(DateTime.Now)
Dim t As Long = DateTime.Add(DateTime.Now, 0, 0, -(d-1))
Return DateUtils.SetDate(DateTime.GetYear(t), DateTime.GetMonth(t), DateTime.GetDayOfMonth(t))
End Sub
Sub LastSunday As Long Dim d As Int = DateTime.GetDayOfWeek(DateTime.Now) Dim t As Long = DateTime.Add(DateTime.Now, 0, 0, -(d-1)) Return DateUtils.SetDate(DateTime.GetYear(t), DateTime.GetMonth(t), DateTime.GetDayOfMonth(t)) End Sub
If today's day is Sunday, your code returns today's date not last Sunday. in order to get last Sunday's date, your code should be like this:
B4X:
Sub LastSunday As Long
Dim d As Int = DateTime.GetDayOfWeek(DateTime.Now)
If d=1 Then
Dim t As Long = DateTime.Add(DateTime.Now, 0, 0, -(d-1) -7)
Else
Dim t As Long = DateTime.Add(DateTime.Now, 0, 0, -(d-1))
End If
Return DateUtils.SetDate(DateTime.GetYear(t), DateTime.GetMonth(t), DateTime.GetDayOfMonth(t))
End Sub
If today's day is Sunday, your code returns today's date not last Sunday. in order to get last Sunday's date, your code should be like this:
B4X:
Sub LastSunday As Long
Dim d As Int = DateTime.GetDayOfWeek(DateTime.Now)
If d=1 Then
Dim t As Long = DateTime.Add(DateTime.Now, 0, 0, -(d-1) -7)
Else
Dim t As Long = DateTime.Add(DateTime.Now, 0, 0, -(d-1))
End If
Return DateUtils.SetDate(DateTime.GetYear(t), DateTime.GetMonth(t), DateTime.GetDayOfMonth(t))
End Sub