List the First Monday of every month using C# and VB.NET

Here’s some code for listing down the first Monday of every month in an year using C# and VB.NET. The Monday’s listed in this example are for the year 2010


public static void Main(string[] args)
for (int mth = 1; mth <= 12; mth++)
DateTime dt = new DateTime(2010, mth, 1);
while (dt.DayOfWeek != DayOfWeek.Monday)
dt = dt.AddDays(1);


Public Shared Sub Main(ByVal args() As String)
For mth As Integer = 1 To 12
Dim dt As New DateTime(2010, mth, 1)
Do While dt.DayOfWeek <> DayOfWeek.Monday
dt = dt.AddDays(1)
Next mth
End Sub



Will you give this article a +1 ? Thanks in advance

About The Author

Suprotim Agarwal, ASP.NET Architecture MVP works as an Architect Consultant and provides consultancy on how to design and develop Web applications.

Suprotim is also the founder and primary contributor to DevCurry, DotNetCurry and SQLServerCurry. He has also written an EBook 51 Recipes using jQuery with ASP.NET Controls.

Follow him on twitter @suprotimagarwal


1 Response to "List the First Monday of every month using C# and VB.NET"
  1. Vijay kumar said...
    April 17, 2015 at 12:37 AM

    Hi, This is Vijay here.

    I need a function that finds out the last Thursday of the month, and adds 1 more day to it.

    I have similar function that reads the 3rd Friday of the month & adds 1 more day to it.

    Function changeexpiration(ByVal dt As Date, ByVal num As Integer) As Date

    'changes the date supplied to the 15th, adds or subtracts num month(s) to the date,
    'and finds the first Friday on or after the 15th, which must be the 3rd Friday of that month

    dt = dt.AddDays(15 - dt.Day)
    dt = dt.AddMonths(num)

    For x As Integer = 1 To 7
    If dt.DayOfWeek = DayOfWeek.Friday Then
    Exit For
    End If
    dt = dt.AddDays(1)

    Return dt.AddDays(1) 'actual expiration is the Saturday after close of trade on expiration Friday

    End Function

    Thanks & regds.,



Copyright © 2009-2015 All Rights Reserved for by Suprotim Agarwal | Terms and Conditions