• Domingo 22 de Diciembre de 2024, 13:22

Autor Tema:  Obtener Dia Anterior Y Nombre Del Dia  (Leído 2628 veces)

Martillo

  • Miembro activo
  • **
  • Mensajes: 55
    • Ver Perfil
Obtener Dia Anterior Y Nombre Del Dia
« en: Jueves 8 de Febrero de 2007, 01:50 »
0
Hola a todos:

Necesito saber si existe la forma de hacer una funcion que me retorne el dia anterior que correponde por fecha y su dia de la semana, por ejemplo:


funcion_dia_anterior(01-02-2007)

y que retorne el dia anterior que seria el 31-1-2007 y que diga que es miercoles, alguien sabe como atacar este problema o por lo menos una parte de el, por favor seria de mucha ayuda, saludos.



 :kicking:
[size=109]Solo sed que nada sed!!!!!![/size]

ArKaNtOs

  • Miembro de PLATA
  • *****
  • Mensajes: 1253
  • Nacionalidad: mx
    • Ver Perfil
Re: Obtener Dia Anterior Y Nombre Del Dia
« Respuesta #1 en: Jueves 8 de Febrero de 2007, 01:59 »
0
realmente la logica de la función es simple primero validas si la fecha que recibes es valida, después puedes ingresar ese valor a un dtpicker y que te diga el dia de la semana que es :D

mamex

  • Miembro activo
  • **
  • Mensajes: 77
  • Nacionalidad: mx
    • Ver Perfil
Re: Obtener Dia Anterior Y Nombre Del Dia
« Respuesta #2 en: Jueves 8 de Febrero de 2007, 05:20 »
0
Aki tienes un ejemplo usando unas funciones mías:

Código: Text
  1.  
  2. Private Sub cmdCalcular_Click()
  3.     MsgBox FechaEnTexto(CDate(txtFecha.Text) - 1)
  4. End Sub
  5.  
  6. Public Function FechaEnTexto(fecha As String) As String
  7.     FechaEnTexto = Day(fecha) & " de " & NombreMes(Month(fecha)) & " del " & Year(fecha)
  8. End Function
  9.  
  10. Public Function NombreMes(mes As Integer) As String
  11.     Select Case mes
  12.         Case 1
  13.             NombreMes = "Enero"
  14.         Case 2
  15.             NombreMes = "Febrero"
  16.         Case 3
  17.             NombreMes = "Marzo"
  18.         Case 4
  19.             NombreMes = "Abril"
  20.         Case 5
  21.             NombreMes = "Mayo"
  22.         Case 6
  23.             NombreMes = "Junio"
  24.         Case 7
  25.             NombreMes = "Julio"
  26.         Case 8
  27.             NombreMes = "Agosto"
  28.         Case 9
  29.             NombreMes = "Septiembre"
  30.         Case 10
  31.             NombreMes = "Octubre"
  32.         Case 11
  33.             NombreMes = "Noviembre"
  34.         Case 12
  35.             NombreMes = "Diciembre"
  36.     End Select
  37. End Function
  38.  
  39. Public Function NombreDia(dia As Integer) As String
  40.     Select Case dia
  41.         Case 1
  42.             NombreDia = "Lunes"
  43.         Case 2
  44.             NombreDia = "Martes"
  45.         Case 3
  46.             NombreDia = "Miercoles"
  47.         Case 4
  48.             NombreDia = "Jueves"
  49.         Case 5
  50.             NombreDia = "Viernes"
  51.         Case 6
  52.             NombreDia = "Sabado"
  53.         Case 7
  54.             NombreDia = "Domingo"
  55.     End Select
  56. End Function
  57.  
  58.  

Cualquier duda, pues escribe de nuevo. Saludos

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Obtener Dia Anterior Y Nombre Del Dia
« Respuesta #3 en: Jueves 8 de Febrero de 2007, 05:37 »
0
Citar
Public Function FechaEnTexto(fecha As String) As String
   FechaEnTexto = Day(fecha) & " de " & NombreMes(Month(fecha)) & " del " & Year(fecha)
End Function
¿y cuando haces uso de NombreDia(dia As Integer)?
¿Quisiste poner esto?
Código: Text
  1. Public Function FechaEnTexto(fecha As String) As String
  2.    FechaEnTexto = NombreDia(Day(fecha)) & " de " & NombreMes(Month(fecha)) & " del " & Year(fecha)
  3. End Function
  4.  
Si es así, ¿Que rango de valores arroja Day(fecha)? Es que no lo recuerdo y no tengo instalado VB.-

Saludos  :beer:
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.

mamex

  • Miembro activo
  • **
  • Mensajes: 77
  • Nacionalidad: mx
    • Ver Perfil
Re: Obtener Dia Anterior Y Nombre Del Dia
« Respuesta #4 en: Jueves 8 de Febrero de 2007, 07:05 »
0
Jejeje, en realidad no lo ocupé, pero me di cuenta después k lo puse. La función nombre día, le mandas el número del dia: lunes 1, martes 2, miercoles 3.

Pero lo que hace la función Day() es darme el número de la fecha, (ej. 23). Así que no sirve para obtener directamente que dia de la semana es, para eso necesito usar la función weekDay()

Pero bueno, pido disculpas por mi equivocación, y aqui está la funcion que debes modificar:

Código: Text
  1.  
  2. Public Function FechaEnTexto(fecha As String) As String
  3.    FechaEnTexto = NombreDia(Weekday(fecha, vbMonday)) & " " & Day(fecha) & _
  4.         " de " & NombreMes(Month(fecha)) & " del " & Year(fecha)
  5. End Function
  6.  
  7.  

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Obtener Dia Anterior Y Nombre Del Dia
« Respuesta #5 en: Jueves 8 de Febrero de 2007, 07:34 »
0
Cita de: "mamex"
Jejeje, en realidad no lo ocupé, pero me di cuenta después k lo puse. La función nombre día, le mandas el número del dia: lunes 1, martes 2, miercoles 3.

Pero lo que hace la función Day() es darme el número de la fecha, (ej. 23). Así que no sirve para obtener directamente que dia de la semana es, para eso necesito usar la función weekDay()

Pero bueno, pido disculpas por mi equivocación, y aqui está la funcion que debes modificar:

Código: Text
  1.  
  2. Public Function FechaEnTexto(fecha As String) As String
  3.    FechaEnTexto = NombreDia(Weekday(fecha, vbMonday)) & " " & Day(fecha) & _
  4.         " de " & NombreMes(Month(fecha)) & " del " & Year(fecha)
  5. End Function
  6.  
  7.  
Jeje. Eso me parecía  :beer:
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: Obtener Dia Anterior Y Nombre Del Dia
« Respuesta #6 en: Jueves 8 de Febrero de 2007, 07:48 »
0
Aqui hay otra idea de la funcion ... y claro aplicando todo el procedimento que aporto mamex  :smartass:

Citar
Function NombreDia(dia As Integer) As String
Dim Resultado As String
    If dia > 0 And dia < 8 Then
        Resultado = Choose(dia, "Lunes", "Martes", "Miercoles", "Jueves", "Viernes", "Sabado", "Domingo")
    Else
        Resultado = "Error: No hay dia " & dia
    End If
NombreDia = Resultado
End Function


Saludos
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================