Calculate the previous working business day based on today’s date. Consider weekends (Saturday and Sunday) as non-working days.
input: Todays date
output: previous working day
input:23rd July
output: Monday
input:22nd July
output: Friday
Calculate the previous working business day based on today’s date. Consider weekends (Saturday and Sunday) as non-working days.
input: Todays date
output: previous working day
input:23rd July
output: Monday
input:22nd July
output: Friday
// Assign activity
previousWorkingDay = If(today.DayOfWeek = DayOfWeek.Monday, today.AddDays(-3),
If(today.DayOfWeek = DayOfWeek.Sunday, today.AddDays(-2),
If(today.DayOfWeek = DayOfWeek.Saturday, today.AddDays(-1), today.AddDays(-1))))
previousWorkingDayName = previousWorkingDay.ToString("dddd")
For Today
previousWorkingDay = Enumerable.Range(1, 7).Select(Function(i) DateTime.Now.AddDays(-i)).First(Function(d) d.DayOfWeek <> DayOfWeek.Saturday AndAlso d.DayOfWeek <> DayOfWeek.Sunday).ToString("dddd")
Or
Using Input date
InputDate = New DateTime(2024, 7, 22)
previousWorkingDay = Enumerable.Range(1, 7).Select(Function(i) inputDate.AddDays(-i)).First(Function(d) d.DayOfWeek <> DayOfWeek.Saturday AndAlso d.DayOfWeek <> DayOfWeek.Sunday).ToString("dddd")
InputDate DataType : System.DateTime
previousWorkingDay DataType : System.String
Regards,
Assign todayDate = Now
Assign previousWorkingDay = todayDate
Switch todayDate.DayOfWeek
Case DayOfWeek.Monday
Assign previousWorkingDay = todayDate.AddDays(-3) ’ Previous Friday
Case DayOfWeek.Tuesday
Assign previousWorkingDay = todayDate.AddDays(-1) ’ Previous Monday
Case DayOfWeek.Wednesday
Assign previousWorkingDay = todayDate.AddDays(-1) ’ Previous Tuesday
Case DayOfWeek.Thursday
Assign previousWorkingDay = todayDate.AddDays(-1) ’ Previous Wednesday
Case DayOfWeek.Friday
Assign previousWorkingDay = todayDate.AddDays(-1) ’ Previous Thursday
Case DayOfWeek.Saturday
Assign previousWorkingDay = todayDate.AddDays(-1) ’ Previous Friday
Case DayOfWeek.Sunday
Assign previousWorkingDay = todayDate.AddDays(-2) ’ Previous Friday
You can use the simple expression to get the Previous working business day based on today’s date, check the below expression,
- Assign -> Previousworkingday = If(DateTime.Now.AddDays(-1).DayOfWeek.ToString.Equals("Saturday") AndAlso Not(DateTime.Now.AddDays(-1).DayOfWeek.ToString.Equals("Sunday")), DateTime.Now.AddDays(-2).DayOfWeek.ToString, If(DateTime.Now.AddDays(-1).DayOfWeek.ToString.Equals("Sunday"), DateTime.Now.AddDays(-3).DayOfWeek.ToString, DateTime.Now.AddDays(-1).DayOfWeek.ToString))
Check the below workflow for better understanding,
The above expression will meet each and every requirement as your mentioned in your query.
Hope it helps!!
This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.