How to convert dd/MM/yyyy Date format to MM/dd/yyyy in Asp.Net C# and Vb.Net

← PrevNext →

I often use jQuery Datepicker widget in my web applications to choose a date in dd/mm/yyyy format. This is a very common date format used by many web developers like me. However sometimes, we may have to change the default format to other date formats. Here is this post I’ll show you a simple example on how to change the date format dd/MM/yyyy to MM/dd/yyyy in Asp.Net using C# and Vb.Net.

Convert Date format dd/MM/yyyy to MM/dd/yyyy in Asp.Net

The date format MM/dd/yyyy becomes necessary when you want to save the date in an SQL Server table, with date type. You may have other reasons too.

In Asp.Net, we can change a date’s format using the ParseExact() method of DateTime structure. The method converts a specified string (a date with time) to other date and time formats.

Syntax

DateTime.ParseExact(string s, string format, IFormatProvider provider)

The Markup and Script

In the markup section, I have a textbox and a button. I am attaching the DatePicker widget to the Input box (textbox) inside the script. I am assigning the date format dd/mm/yy.

<head runat="server">
    <link rel="stylesheet" href="https://code.jquery.com/ui/1.12.0/themes/base/jquery-ui.css">
    <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
    <script src="https://code.jquery.com/ui/1.12.0/jquery-ui.js"></script>
</head>
<body>
    <div>
        <input type="text" id="txtDOB" placeholder="SELECT A DATE" runat="server" />
        <asp:Button Text="Submit" ID="submit" OnClick="btClick" runat="server" />
    </div>
</body>
<script>
    $(document).ready(function () {
        $('#txtDOB').datepicker({
            dateFormat: 'dd/mm/yy'  // CHANGE DATE FORMAT.
        });
    });
</script>
Code behind Procedure (C#)
using System;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class SiteMaster : System.Web.UI.MasterPage
{
    protected void btClick(Object sender, EventArgs e)
    {
        string sDate = "";

        if (!string.IsNullOrEmpty(txtDOB.Value.Trim()))
        {
            // CONVERT DATE FORMAT.
            sDate = DateTime.ParseExact( 
                txtDOB.Value, "dd/MM/yyyy", null).ToString("MM/dd/yyyy");
        }
    }
}
The 1st parameter inside ParseExact() method is the date from the input box of type text. (See the markup). The 2nd parameter is the format that I wish to change the date to and I have a value null as the 3rd parameter (for the provider).
Code behind Procedure (Vb.Net)
Sub btClick(ByVal sender As Object, ByVal e As EventArgs)
    Dim sDate As String = ""

    If Trim(txtDOB.Value) <> "" Then
        ' CONVERT DATE FORMAT.
        sDate = DateTime.ParseExact(
            txtDOB.Value, "dd/MM/yyyy", Nothing).ToString("MM/dd/yyyy")
    End If
End Sub

Well, that’s it. Finally, save the newly formatted date in your SQL Server table.

← PreviousNext →