2011-02-01 8 views
8

Voglio ottenere la data di oggi. Usando Now(), ottengo sia la data che l'ora, ma ho bisogno solo della data. Come ottenerlo? Grazie FurqanSolo data

risposta

16

Usa System.DateTime.Today. Alcune note aggiuntive:

  • Mentre siete interessati solo la data, è ancora ottenere un oggetto System.DateTime. Cioè, c'è ancora è una porzione di tempo nel valore restituito, ma è lasciato in bianco (tutti gli zeri).

    È importante ricordare questo quando si confrontano le date. Se vuoi confrontare due date e hai recuperato una data tramite DateTime.Today e un'altra data tramite DateTime.Now, allora queste due date non saranno uguali a — proprio perché uno ha l'ora impostata e l'altra no.

  • In VB.NET, la parola chiave Date è equivalente al tipo System.DateTime. Così si può scrivere:

    Date.Today 
    

    PS: E 'appena venuto in mente che potrebbe essere una buona idea di scrivere Date.Today, ma DateTime.Now, al fine di rendere ancora più esplicito che l'ex proprietà restituisce solo il data parte, mentre il secondo restituisce sia una porzione di data e ora.

+0

Dal torna oggi la parte del tempo con tutti gli zeri, come è diverso da un significato di mezzanotte (12:00 AM)? – kajaco

+0

@kajaco: non c'è differenza. La porzione di tempo di 'DateTime' non è annullabile, quindi devi decidere da sola se è rilevante o se deve essere ignorata. – stakx

+0

Abbastanza inutile, poiché non è la stessa data in tutto il mondo e non c'è modo di specificare un fuso orario. – John

4

Provare il metodo DateTime.Today per la data corrente.

Questo restituisce un oggetto DateTime, proprio come DateTime.Now, ma è parte di tempo è sempre impostato a 0.

4
Imports System 

Public Class MainClass 

    Shared Sub Main(ByVal args As String()) 
     Dim currentTime as System.DateTime = System.DateTime.Now 
     Console.WriteLine("currentTime Year :" & currentTime.Year) 
     Console.WriteLine("currentTime Month:" & currentTime.Month) 
     Console.WriteLine("currentTime Date:" & currentTime.Date) 
     Console.WriteLine("currentTime Hour:" & currentTime.Hour) 
     Console.WriteLine("currentTime Minute:" & currentTime.Minute) 
     Console.WriteLine("currentTime Second:" & currentTime.Second) 
    End Sub 
End Class 
0
'try the simple way................... enjoy.. 
    Imports System -general declaration part 
Private Sub Show_Click(sender As Object, e As EventArgs) Handles Button1.Click 
      Dim currentdate As System.DateTime 
      Dim currenttime As System.DateTime 
      Dim currentDateTime As System.DateTime 
      currentdate = DateAndTime.Today 
      currenttime = DateAndTime.TimeOfDay 
      currentDateTime = DateAndTime.Now 

      MsgBox(currentdate) 
      MsgBox(currenttime) 
      MsgBox(currentDateTime) 
    End Sub 
0

Molto più semplice in questo modo

Public Class Form1 
    Dim GDate As String 
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
     GDate = Today 
    End Sub 
End Class 
0

Ogni volta che si dovrà recuperare lo otterrete e può convertire in nuovo formato di data successiva anche

Dim dt1 As String = Today 
Dim time1 As String = TimeOfDay 

msgbox(dt1) 
msgbox(time1) 
Problemi correlati