Ive gone another route now I am using 2 date pickers so the user can select what ever dates they want
I will come back to this once my head is not pounding any more
[Solved] Get the Previous Sunday from a Date
- BruceSteers
- Posts: 1603
- Joined: Thursday 23rd July 2020 5:20pm
- Location: Isle of Wight
- Contact:
Re: [Solved] Get the Previous Sunday from a Date
Sigh
Not sure what you could not get your head around or why after asking 3 different questions that all got answered you did something completely different? i guess that's your prerogative.
Not sure what you could not get your head around or why after asking 3 different questions that all got answered you did something completely different? i guess that's your prerogative.
If at first you don't succeed , try doing something differently.
BruceS
BruceS
- BruceSteers
- Posts: 1603
- Joined: Thursday 23rd July 2020 5:20pm
- Location: Isle of Wight
- Contact:
Re: [Solved] Get the Previous Sunday from a Date
Okay so i had a real proper read of your first post to see what the initial goal was again.
You want to get from Sunday to Monday of a previous week from a given date.
So get the previous Sunday , then the Monday before that...
So you want something like this...
From: Sunday 24/03/2024 To: Monday 18/03/2024
You want to get from Sunday to Monday of a previous week from a given date.
So get the previous Sunday , then the Monday before that...
So you want something like this...
Public Sub Button1_Click()
Dim d As Date = Now
Dim dLastSun As Date = GetPreviousSunday(d)
Dim dLastMon As Date = DateAdd(dLastSun, gb.Day, -6) ' just subtract 6 days to get to the monday
Print "From:";; Format(dLastSun, "dddd dd/mm/yyyy");; "To:";;
Print Format(dLastMon, "dddd dd/mm/yyyy")
End
Public Sub GetPreviousSunday(hDate As Date) As Date
Dim d As Date
Dim iDay As Integer = WeekDay(hDate)
If Not iDay Then iDay = 7 ' if given date is a sunday go back to previous week
d = DateAdd(hDate, gb.Day, -iDay) ' Subtract days to go to the Sunday before the given date
Return d
End
From: Sunday 24/03/2024 To: Monday 18/03/2024
If at first you don't succeed , try doing something differently.
BruceS
BruceS
Re: [Solved - sort of] Get the Previous Sunday from a Date
No more clues from me. If you want us to writ your damn pos system, send money. ![Mad :x](./images/smilies/icon_mad.gif)
![Mad :x](./images/smilies/icon_mad.gif)
Have you ever noticed that software is never advertised using the adjective "spreadable".
- BruceSteers
- Posts: 1603
- Joined: Thursday 23rd July 2020 5:20pm
- Location: Isle of Wight
- Contact:
Re: [Solved - sort of] Get the Previous Sunday from a Date
Haha
![Very Happy :D](./images/smilies/icon_e_biggrin.gif)
Yep, give a man a fish and he eats for a day. And all that
If at first you don't succeed , try doing something differently.
BruceS
BruceS
-
- Posts: 363
- Joined: Wednesday 2nd December 2020 12:11am
- Location: Northampton, England
- Contact:
Re: [Solved - sort of] Get the Previous Sunday from a Date
I am sorry If I upset anyone I was in a lot of pain last night with my head and I was not understanding anything I was planning on having the date range selection anyway so all i did was implemented that as it was a quicker thing now my head is not hurting i can have a look as to what I was doing wrong as to why I was never getting the correct dates.
I mean yesterday I was getting Wednesday 13th one time and then I was getting the 3/3 the next time the report was run so I am 99.99% convinced I had coded it wrong or i changed something that should not have been changed
So Tomorrow when it is Daylight and ive had more sleep I shall be returning to the code (as I like to have a button that just says "Tender Report Last week" and the customer can just press it to get the previous weeks report.
Public Sub Button1_Click()
Dim d As Date = Now
Dim dLastSun As Date = GetPreviousSunday(d)
Dim dLastMon As Date = DateAdd(dLastSun, gb.Day, -6) ' just subtract 6 days to get to the monday
Print "From:";; Format(dLastSun, "dddd dd/mm/yyyy");; "To:";;
Print Format(dLastMon, "dddd dd/mm/yyyy")
End
@BruceSteers is my line of thought right if I wanted to get the current Monday to Sunday Dates (this weeks) I would change the -6 to a 6 for this Sundays date? or Do I need to change something else with in the GetPreviousSunday Function?
- BruceSteers
- Posts: 1603
- Joined: Thursday 23rd July 2020 5:20pm
- Location: Isle of Wight
- Contact:
Re: [Solved - sort of] Get the Previous Sunday from a Date
Try it and see
If at first you don't succeed , try doing something differently.
BruceS
BruceS
- grayghost4
- Posts: 187
- Joined: Wednesday 5th December 2018 5:00am
- Location: Marengo, Illinois usa
Re: [Solved - sort of] Get the Previous Sunday from a Date
I may be wrong .. but this seems to get the previous sunday.
But I am probably not understanding what you are trying to do
But I am probably not understanding what you are trying to do
![Wink ;)](./images/smilies/icon_e_wink.gif)
Print DateAdd(Now, gb.Day, -(WeekDay(Now) + 7))
- cogier
- Site Admin
- Posts: 1129
- Joined: Wednesday 21st September 2016 2:22pm
- Location: Guernsey, Channel Islands
Re: [Solved - sort of] Get the Previous Sunday from a Date
This doesn't quite get it right. Using the following code I get the Sunday before last Sunday!grayghost4 wrote: ↑Saturday 30th March 2024 4:44pm I may be wrong .. but this seems to get the previous sunday.
Print DateAdd(Now, gb.Day, -(WeekDay(Now) + 7))
Print Now
Print DateAdd(Now, gb.Day, -(WeekDay(Now) + 7))
Result:-
30/03/2024 16:51:29
17/03/2024 16:51:29
- grayghost4
- Posts: 187
- Joined: Wednesday 5th December 2018 5:00am
- Location: Marengo, Illinois usa
Re: [Solved - sort of] Get the Previous Sunday from a Date
how about this :
results:
03/30/2024 00:00:00
03/24/2024 00:00:00
Public Sub Button1_Click()
Dim d As Date = Date(Now)
Dim iDay As Integer = WeekDay(d)
If iDay = 6 Then iDay = -1 ' ' move Saturday
Print d
Print DateAdd(d, gb.Day, -(iDay) -7)
End
results:
03/30/2024 00:00:00
03/24/2024 00:00:00
Last edited by grayghost4 on Sunday 31st March 2024 12:07pm, edited 1 time in total.