2011-02-01 23 views

Respuesta

16

Uso System.DateTime.Today. Algunas notas adicionales:

  • Mientras que usted está interesado sólo en la fecha, sigue recibiendo un objeto System.DateTime. Es decir, todavía hay es una porción de tiempo en el valor devuelto, pero se deja en blanco (todos ceros).

    Es importante recordar esto al comparar las fechas. Si desea comparar dos fechas, y ha obtenido una fecha a través del DateTime.Today y otra fecha a través del DateTime.Now, estas dos fechas no serán iguales a — precisamente porque una tiene el tiempo establecido y la otra no.

  • En VB.NET, la palabra clave Date es equivalente al tipo System.DateTime. Por lo tanto se puede escribir:

    Date.Today 
    

    PS: Se me ha ocurrido que podría ser una buena idea para escribir Date.Today, pero DateTime.Now, con el fin de hacerlo aún más explícita que la antigua propiedad sólo devuelve el porción de fecha, mientras que la segunda devuelve una parte de fecha y hora.

+0

Desde vuelve hoy la porción de tiempo con todos los ceros, ¿cómo es eso diferente de un significado de medianoche (12:00 AM)? – kajaco

+0

@kajaco: No hay diferencia. La porción de tiempo de 'DateTime' no puede contener nulos, por lo que debe decidir si es relevante o si debe ignorarse. – stakx

+0

Bastante inútil, ya que no es la misma fecha en todo el mundo y no hay forma de especificar un huso horario. – John

4

Pruebe el método DateTime.Today para la fecha actual.

Esto devuelve un objeto DateTime, al igual que DateTime.Now, pero es parte de la hora siempre se establece en 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

Mucho más simple de esta manera

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

Siempre que tendrá que recuperar lo conseguirá y puede convertir en formato de fecha de nuevo más tarde también

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

msgbox(dt1) 
msgbox(time1) 
Cuestiones relacionadas