// // Format DateTime - Geeks Portal

Format DateTime

Last post 03-13-2009 0:17 by Fajar Endra Nusa. 7 replies.
Page 1 of 1 (8 items)
Sort Posts: Previous Next
  • 03-08-2009 11:40

    • Swike
    • Top 75 Contributor
    • Joined on 01-01-2009
    • Surabaya
    • Posts 66
    • Points 1,165

    Format DateTime

    gmn caranya format date time kk ??? dalam kasus ini saya menggunakan textbox untuk gantiin datetimepicker misalkan saya sudah format agar textbox formatnya mm/dd/yyyy tetapi user malah isikan dengan format ddmmyyyy gmn caranya untuk mengatasi kesalahan user d atas?
    • Post Points: 50
  • 03-08-2009 16:27 In reply to

    Re: Format DateTime

    Swike:
    gmn caranya format date time kk ??? dalam kasus ini saya menggunakan textbox untuk gantiin datetimepicker misalkan saya sudah format agar textbox formatnya mm/dd/yyyy tetapi user malah isikan dengan format ddmmyyyy gmn caranya untuk mengatasi kesalahan user d atas?

    Kalau untuk asp.net (2.0/3.5), Swike bisa gunakan Ajax Control Tookit.
    Demonya di sini: http://www.asp.net/AJAX/AjaxControlToolkit/Samples/MaskedEdit/MaskedEdit.aspx

    Untuk asp.net 2.0, bisa di download di sini: http://ajaxcontroltoolkit.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=11121

    Untuk asp.net 3.5 bisa di download di sini: http://ajaxcontroltoolkit.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=16488

    Ferry Meidianto
    My Site :: My Blog @ INDC
    • Post Points: 5
  • 03-08-2009 22:11 In reply to

    • antonmaju
    • Top 50 Contributor
    • Joined on 11-28-2007
    • Malang
    • Posts 145
    • Points 2,310

    Re: Format DateTime

     Gampangannya pakai event Leave saja untuk cek , lalu pakai method TryParseExact, misal:

     DateTime t;
    if (! DateTime.TryParseExact(textBox1.Text,"dd/MMyyyy",System.Threading.Thread.CurrentThread.CurrentCulture,

    System.Globalization.DateTimeStyles.None,out t))
        MessageBox.Show("Salah!");

     Kalau formatnya mm/dd/yyyy bisa langsung pake TryParse karena default formatnya .NET spt itu.

    • Post Points: 5
  • 03-08-2009 23:05 In reply to

    Re: Format DateTime

    IMHO, daripada pake TextBox, mendingan pake MaskedTextBox (keduanya sama2 turunan class TextBoxBase) ;D Karena, pada MaskedTextBox, masked format nya sudah tersedia. Dan lebih mudah untuk melakukan validasi, karena kita bisa menentukan type yang diperlukan untuk validasi beserta event handler nya.

    Caranya seperti ini: 

    1. Tambahkan control MaskedTextBox

    2. Pilih property Mask dari control MaskedTextBox tersebut dengan Short date.

    3. Set property ValidatingType dengan typeof( System.DateTime ) melalui code, misalnya pada Form_Load:

     private void Form1_Load( object sender, EventArgs e )
     {
       maskedTextBox1.ValidatingType = typeof( System.DateTime );   
     }

    4. Pasang event handler TypeValidationCompleted (double click event nya pada Properties window), lalu tambahkan behavior yang diinginkan jika input tidak valid, misalnya seperti ini:

     private void maskedTextBox1_TypeValidationCompleted( object sender, TypeValidationEventArgs e )
     {
       if( !e.IsValidInput )
         {

           // do something as you wish, gimme some money, perhaps ;D
           MessageBox.Show( "wrong format" );
         }
      }

     

    Cheers

    Fajar Endra Nusa
    Software Engineer

    http://things.fajarendranusa.com
    • Post Points: 20
  • 03-08-2009 23:29 In reply to

    • Swike
    • Top 75 Contributor
    • Joined on 01-01-2009
    • Surabaya
    • Posts 66
    • Points 1,165

    Re: Format DateTime

    wah saya make vb 2003 kk...bkn c#.... ya memang bs make mask edit, tp mau coba jg dari textbox sudah saya coba dengan bantuan MSDN masih blm dapat jg kk
    • Post Points: 20
  • 03-09-2009 9:13 In reply to

    • antonmaju
    • Top 50 Contributor
    • Joined on 11-28-2007
    • Malang
    • Posts 145
    • Points 2,310

    Re: Format DateTime

     KalauVS 2003 (.NET 1.1) aku rasa belum ada static method TryParseExact , tapi static method ParseExact di DateTime spertinya sudah da, terapkan saja di event Leave textbox. 

    misal:

            Dim d As Date
            Try
                d = Date.ParseExact(TextBox1.Text, "dd/MM/yyyy", Threading.Thread.CurrentThread.CurrentCulture)
            Catch ex As Exception
                MessageBox.Show("Salah")
            End Try

    Yang string di dalam bisa diganti format lain misal:"MM/dd/yyyy". Kalau mau juga bisa pake regular expression.

    • Post Points: 20
  • 03-09-2009 9:42 In reply to

    • Swike
    • Top 75 Contributor
    • Joined on 01-01-2009
    • Surabaya
    • Posts 66
    • Points 1,165

    Re: Format DateTime

    saya coba dolo kk... makasih atas infonya...
    • Post Points: 20
  • 03-13-2009 0:17 In reply to

    Re: Format DateTime

    ups, maaf ya, swike.. saya suka ngga merhatiin channel ;p ga tau klo thread ini ternyata masuk VB.NET programming toh ;D

    Klo memang mau nya pake TextBox dan .NET di bawah versi 2.0, saran mas antonmaju dah ok tuh.  DateTime.ParseExact dah ada dari .NET versi 1.0.

     

    Cheers

    Fajar Endra Nusa
    Software Engineer

    http://things.fajarendranusa.com
    • Post Points: 5
Page 1 of 1 (8 items)