PC Ekspert Forum

PC Ekspert Forum (https://forum.pcekspert.com/index.php)
-   Web dizajn, programiranje i ostalo (https://forum.pcekspert.com/forumdisplay.php?f=39)
-   -   VB.Net - formatiranje datuma, recimo (https://forum.pcekspert.com/showthread.php?t=117183)

n_way 23.08.2008. 16:27

VB.Net - formatiranje datuma, recimo
 
Imam jedan problemček, trebo bih iz datuma koji je u obliku npr. "12.11.2005 17:15:46" dobiti "121105_171546". Napiso sam kod koji radi baš to, ali ima dosta varijabli i javlja se problem ako je datum oblika npr. "4.11.2005 6:11:23"

Dal itko ima neku ideju kako bi se to moglo riješiti?

Code:

Dim sDate As String = "12.11.2005 17:15:46"

Dim var1 As String = Microsoft.VisualBasic.Left$(sDate, 2)
Dim var2 As String = Microsoft.VisualBasic.Left$(Microsoft.VisualBasic.Mid$(sDate, 4), 2)
Dim var3 As String = Microsoft.VisualBasic.Left$(Microsoft.VisualBasic.Mid$(sDate, 9), 2)
Dim var4 As String = Microsoft.VisualBasic.Left$(Microsoft.VisualBasic.Mid$(sDate, 12), 2)
Dim var5 As String = Microsoft.VisualBasic.Left$(Microsoft.VisualBasic.Mid$(sDate, 15), 2)
Dim var6 As String = Microsoft.VisualBasic.Right$(sDate, 2)

Label1.Text = var1 & var2 & var3 & "_" & var4 & var5 & var6


n_way 23.08.2008. 19:06

Nema veze, riješio sam problem. Ako nekog zanima kako:

Code:

Dim sDate As String = "12.11.2005 17:15:46"
Dim dte As DateTime = CDate(sDate)
Dim dteFormat As New System.Text.StringBuilder()

With dteFormat
      .Append(dte.Day.ToString)
      .Append(dte.Month.ToString)
      .Append(dte.Year.ToString.Substring(2))
      .Append("_")
      .Append(dte.Hour.ToString)
      .Append(dte.Minute.ToString)
      .Append(dte.Second.ToString)
End With
Label1.Text = dteFormat.ToString()

ili još bolje, kao funkcija:

Code:

Public Function f_Date(ByVal datum As String) As String
        Dim sDate As Date = CDate(datum)
        With sDate
            Return String.Format("{0}{1}{2}_{3}{4}{5}", _
                .Day.ToString("00"), .Month.ToString("00"), .Year.ToString.Substring(2), _
                .Hour.ToString("00"), .Minute.ToString("00"), .Second.ToString("00"))
        End With
    End Function

Može lock.


Sva vremena su GMT +2. Sada je 15:40.

Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 1999-2024 PC Ekspert - Sva prava pridržana ISSN 1334-2940
Ad Management by RedTyger