ASP til ASP.NET – formatering af en dato.


En af de ting som er blevet så meget lettere med ASP.NET er formatering af dato og tidspunkter - nej, forkert...det er ikke kun en dato der er blevet nemmere at formatere. Det er samtlige typer.

Jeg faldt over dette spørgsmål på eksperten.dk (http://www.eksperten.dk/spm/837765). Her bliver der lavet en funktion til noget så simpelt som at vise sin dato i et ønsket format. Det føles da lidt stenalder agtigt, men det er en af de eneste måder at gøre det på.

Download VB koden.
Download CS koden.

Med ASP.NET kunne man bare gøre sådan her:

C#:

   1:  using System;
   2:  using System.Collections.Generic;
   3:   
   4:  public partial class _Default : System.Web.UI.Page 
   5:  {
   6:      protected void Page_Load(object sender, EventArgs e)
   7:      {
   8:          DateTime myDate = DateTime.Now;
   9:   
  10:          List<string> formatModes = new List<string>();
  11:   
  12:          formatModes.Add(String.Format("{0:dd-MM-yy}", myDate));
  13:          formatModes.Add(String.Format("{0:dd-MM-yy hh:mm}", myDate));
  14:          formatModes.Add(String.Format("{0:f}", myDate));
  15:          formatModes.Add(String.Format("{0:dddd dd-MM-yy}", myDate));
  16:          formatModes.Add(String.Format("{0:U}", myDate));
  17:          formatModes.Add(String.Format("{0:D}", myDate));
  18:          formatModes.Add(String.Format("{0:d}", myDate));
  19:   
  20:          formatModes.ForEach(new Action<string>(
  21:              delegate(string s2) 
  22:                  { 
  23:                      Response.Write(s2 + "<br />"); 
  24:                  }
  25:              )
  26:          );
  27:      }
  28:  }

VB udgaven:

   1:  Imports System
   2:  Imports System.Collections.Generic
   3:   
   4:  Partial Public Class _Default
   5:      Inherits System.Web.UI.Page
   6:   
   7:      Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
   8:          Dim myDate As DateTime = DateTime.Now()
   9:   
  10:          Dim formatModes As List(Of String) = New List(Of String)()
  11:   
  12:          formatModes.Add(String.Format("{0:dd-MM-yy}", myDate))
  13:          formatModes.Add(String.Format("{0:dd-MM-yy hh:mm}", myDate))
  14:          formatModes.Add(String.Format("{0:f}", myDate))
  15:          formatModes.Add(String.Format("{0:dddd dd-MM-yy}", myDate))
  16:          formatModes.Add(String.Format("{0:U}", myDate))
  17:          formatModes.Add(String.Format("{0:D}", myDate))
  18:          formatModes.Add(String.Format("{0:d}", myDate))
  19:   
  20:   
  21:          formatModes.ForEach(AddressOf AnonymousMethod1)
  22:      End Sub
  23:      Private Sub AnonymousMethod1(ByVal s2 As String)
  24:          Response.Write(s2 & "<br />")
  25:      End Sub
  26:  End Class

Comments (2)
  1. jta says:

    Nu er der lettere måder at gøre det på. F.eks. DATEPART funktionen i VBScript

Comments are closed.

Skip to main content