none
Restar una fecha a otra visual studio RRS feed

  • Pregunta

  • Hola a todos, trabajo en visual studio 2010.

    Mi consulta es la siguiente: Tengo un textbox en mi formulario en el cual introduzco una fecha "15/04/2016" y quisiera coger por código en una variable que tengo creada RestarFecha la fecha "15/03/2016". Quitarle un mes a la fecha del textbox. Os pongo otros ejemplos:

    Fecha-Textbox   RestarFecha

    12/03/2016        12/02/2016

    01/01/2016        01/12/2015

    Etc.

    A ver si me podeis decir como se hace.

    Gracias de antemano.


    Saluditos, Charo

    viernes, 10 de junio de 2016 10:29

Respuestas

  • Hola:
    En un Form con 1 DateTimePicker, copia y pega el siguiente codigo
    Public Class Form1
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
            Me.DateTimePicker1.Format = DateTimePickerFormat.Short
        End Sub

        Private Sub DateTimePicker1_ValueChanged(sender As Object, e As EventArgs) Handles DateTimePicker1.ValueChanged
            Dim FechaRestada As Date = DateAdd(DateInterval.Month, -1, Me.DateTimePicker1.Value)
            MessageBox.Show("Fecha. " & FechaRestada.ToString.Substring(0, 10))
        End Sub
    End Class

    Un saludo desde Bilbo
    Carlos
    viernes, 10 de junio de 2016 11:05
  • "charoeci1" escribió:

    > Mi consulta es la siguiente: Tengo un textbox en mi formulario en el cual
    > introduzco una fecha "15/04/2016" y quisiera coger por código en una
    > variable que tengo creada RestarFecha la fecha "15/03/2016". Quitarle un
    > mes a la fecha del textbox. Os pongo otros ejemplos:
    >
    > Fecha-Textbox   RestarFecha
    >
    > 12/03/2016        12/02/2016
    >
    > 01/01/2016        01/12/2015

    Hola, Charo:

    Como parece ser que la fecha con la que deseas trabajar la obtienes de un simple control TextBox, lo primero que tienes que hacer es pasar dicho valor String a DateTime, para que posteriormente le puedas restar 1 mes, 3 años, 28 días, o el tiempo que estimes conveniente:

        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    
            ' Declarar una variable del tipo DateTime que contendrá la fecha válida.
            Dim fecha As DateTime
    
            ' Intentar convertir a DateTime el valor escrito
            ' en el control TextBox llamado 'txtFecha'.
            '
            If (DateTime.TryParse(txtFecha.Text, fecha)) Then
                ' La fecha es válida: le restamos un més y la mostramos
                ' en el control TextBox llamado 'txtRestarFecha'.
                '
                txtRestarFecha.Text = fecha.AddMonths(-1).ToShortDateString()
    
            Else
                MessageBox.Show("No es una fecha válida.")
                txtFecha.Clear()
                txtRestarFecha.Clear()
    
            End If
    
        End Sub

    Un saludo


    Enrique Martínez Montejo
    [MS MVP - Visual Studio y Tecnologías de Desarrollo]

    Nota informativa: La información contenida en este mensaje, así como el código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en el presente mensaje.

    Si esta respuesta le ha resultado útil, recuerde marcarla como satisfactoria.

    Si usas Visual Basic .NET y deseas ser productivo y feliz, se inteligente y activa la instrucción
    Option Strict.

    viernes, 10 de junio de 2016 15:06
    Moderador

Todas las respuestas

  • Hola:
    En un Form con 1 DateTimePicker, copia y pega el siguiente codigo
    Public Class Form1
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
            Me.DateTimePicker1.Format = DateTimePickerFormat.Short
        End Sub

        Private Sub DateTimePicker1_ValueChanged(sender As Object, e As EventArgs) Handles DateTimePicker1.ValueChanged
            Dim FechaRestada As Date = DateAdd(DateInterval.Month, -1, Me.DateTimePicker1.Value)
            MessageBox.Show("Fecha. " & FechaRestada.ToString.Substring(0, 10))
        End Sub
    End Class

    Un saludo desde Bilbo
    Carlos
    viernes, 10 de junio de 2016 11:05
  • "charoeci1" escribió:

    > Mi consulta es la siguiente: Tengo un textbox en mi formulario en el cual
    > introduzco una fecha "15/04/2016" y quisiera coger por código en una
    > variable que tengo creada RestarFecha la fecha "15/03/2016". Quitarle un
    > mes a la fecha del textbox. Os pongo otros ejemplos:
    >
    > Fecha-Textbox   RestarFecha
    >
    > 12/03/2016        12/02/2016
    >
    > 01/01/2016        01/12/2015

    Hola, Charo:

    Como parece ser que la fecha con la que deseas trabajar la obtienes de un simple control TextBox, lo primero que tienes que hacer es pasar dicho valor String a DateTime, para que posteriormente le puedas restar 1 mes, 3 años, 28 días, o el tiempo que estimes conveniente:

        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    
            ' Declarar una variable del tipo DateTime que contendrá la fecha válida.
            Dim fecha As DateTime
    
            ' Intentar convertir a DateTime el valor escrito
            ' en el control TextBox llamado 'txtFecha'.
            '
            If (DateTime.TryParse(txtFecha.Text, fecha)) Then
                ' La fecha es válida: le restamos un més y la mostramos
                ' en el control TextBox llamado 'txtRestarFecha'.
                '
                txtRestarFecha.Text = fecha.AddMonths(-1).ToShortDateString()
    
            Else
                MessageBox.Show("No es una fecha válida.")
                txtFecha.Clear()
                txtRestarFecha.Clear()
    
            End If
    
        End Sub

    Un saludo


    Enrique Martínez Montejo
    [MS MVP - Visual Studio y Tecnologías de Desarrollo]

    Nota informativa: La información contenida en este mensaje, así como el código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en el presente mensaje.

    Si esta respuesta le ha resultado útil, recuerde marcarla como satisfactoria.

    Si usas Visual Basic .NET y deseas ser productivo y feliz, se inteligente y activa la instrucción
    Option Strict.

    viernes, 10 de junio de 2016 15:06
    Moderador