How to get date of last working day which is friday, of every month in the “24-Nov-23” format in Year 2023?
1 Like
Hi @syedhuzaifa
Can you try the below syntax:
String.Join(vbCrLf,(From month In Enumerable.Range(1, 12)
Let lastDayOfMonth = New DateTime(2023, month, 1).AddMonths(1).AddDays(-1)
Let lastFriday = If(lastDayOfMonth.DayOfWeek = DayOfWeek.Friday, lastDayOfMonth, lastDayOfMonth.AddDays(-(lastDayOfMonth.DayOfWeek - DayOfWeek.Friday)))
Select DateTime.ParseExact(lastFriday.ToString("dd-MMM-yy"), "dd-MMM-yy", CultureInfo.InvariantCulture).ToString("dd-MMM-yy")).ToList())
or you can store it in a variable of DataType System.Collections.Generic.List(Of String)
str_date= (From month In Enumerable.Range(1, 12)
Let lastDayOfMonth = New DateTime(2023, month, 1).AddMonths(1).AddDays(-1)
Let lastFriday = If(lastDayOfMonth.DayOfWeek = DayOfWeek.Friday, lastDayOfMonth, lastDayOfMonth.AddDays(-(lastDayOfMonth.DayOfWeek - DayOfWeek.Friday)))
Select DateTime.ParseExact(lastFriday.ToString("dd-MMM-yy"), "dd-MMM-yy", CultureInfo.InvariantCulture).ToString("dd-MMM-yy")).ToList()
After that use String.Join(vbcrlf,str_date) to print it in message box.
Hope it helps!!
1 Like
Assign activity:
Variable: lastWorkingDays (List(Of String))
Value:
(From month In Enumerable.Range(1, 12)
Let lastDayOfMonth = New DateTime(2023, month, 1).AddMonths(1).AddDays(-1)
Let lastFriday = If(lastDayOfMonth.DayOfWeek = DayOfWeek.Friday, lastDayOfMonth, lastDayOfMonth.AddDays(-(lastDayOfMonth.DayOfWeek - DayOfWeek.Friday)))
Select DateTime.ParseExact(lastFriday.ToString("dd-MMM-yy"), "dd-MMM-yy", CultureInfo.InvariantCulture).ToString("dd-MMM-yy")).ToList()
Hey @syedhuzaifa
you can try use vb.net code:
BlankProcess89.zip (2.5 KB)
List<string>(12) { "27-Jan-23", "24-Feb-23", "31-Mar-23", "28-Apr-23", "26-May-23", "30-Jun-23", "28-Jul-23", "25-Aug-23", "29-Sep-23", "27-Oct-23", "24-Nov-23", "29-Dec-23" }
Dim lastFridaysList As New List(Of String)
Dim year As Integer = 2023
For month As Integer = 1 To 12
Dim lastDayOfMonth As DateTime = New DateTime(year, month, DateTime.DaysInMonth(year, month))
While lastDayOfMonth.DayOfWeek <> DayOfWeek.Friday
lastDayOfMonth = lastDayOfMonth.AddDays(-1)
End While
lastFridaysList.Add(lastDayOfMonth.ToString("dd-MMM-yy"))
Next
lastFridays = lastFridaysList
2 Likes