hola estoy buscando la forma de poder obtener la semana del mes (en base al dia actual).
busque por todos lados y no encuentro nada.
tampoco encontre macros del tipo @wday que cumplan esta funcion. cualquier info sera areciada.
gracias!
Obtener Semana del mes
Re: Obtener Semana del mes
Si entendi, es algo facil, del 1 al 7 inclusive es la primer semana, del 8 al 14 es la segunda y asi
No se si es lo que buscas.
Código: Seleccionar todo
Switch @MDAY
Case 1 to 7
ConsoleWrite("Primer semana" & @CRLF)
Case 8 to 14
ConsoleWrite("Segunda semana" & @CRLF)
Case 15 to 21
ConsoleWrite("Tercer semana" & @CRLF)
Case 22 to 28
ConsoleWrite("Cuarta semana" & @CRLF)
Case Else
ConsoleWrite("Quinta semana" & @CRLF)
EndSwitch
- Chefito
- Profesional del Autoit
- Mensajes: 2035
- Registrado: 21 Feb 2008, 18:42
- Ubicación: Albacete/Cuenca (España)
Re: Obtener Semana del mes
Tengo la impresión que no es eso lo que busca.
Todo lo relacionado con las fechas puedes encontrarlo en la ayuda, en la udf date. Son las funciones que empiezan por _date . Míralas.
Si lo que quieres es saber el número de la semana según el número de día, como si todos los meses empezasen por lunes, una forma fácil podría ser esta:
Pero como he dicho al principio, no creo que sea esto. Supongo que lo que el quiere es saber el número real de semana del mes en que cae ese día. Un mes puede empezar por cualquier día de la semana. En esta situación te descuadra todos los cálculos. Hay que hacerlos nuevos y un poquito más enrevesados....no mucho .
Saludos.
Todo lo relacionado con las fechas puedes encontrarlo en la ayuda, en la udf date. Son las funciones que empiezan por _date . Míralas.
Si lo que quieres es saber el número de la semana según el número de día, como si todos los meses empezasen por lunes, una forma fácil podría ser esta:
Código: Seleccionar todo
Local $iDateCalc = Ceiling(@MDAY/7)
MsgBox(4096, "", "Número de la semana del mes actual: " & $iDateCalc)
Código: Seleccionar todo
#include <Date.au3>
Local $iWeekday = _DateToDayOfWeek(@YEAR, @MON, 1) ;averiguo el día en que empieza el mes
;tengo que corregir lo anterior, ya que está en formato americano, o sea que la semana empieza por domingo no por lunes.
If $iWeekday=1 Then
$iWeekday=6
Else
$iWeekday-=2
EndIf
Local $iDateCalc = Ceiling((@MDAY+$iWeekday)/7)
MsgBox(4096, "", "Número de la semana del mes actual: " & $iDateCalc)
Cita vista en algún lugar de la red: En este mundo hay 10 tipos de personas, los que saben binario y los que no ;).
Re: Obtener Semana del mes
Mil Gracias ! me salvastes la vida Chefito!, es justo lo que buscaba.Chefito escribió:Tengo la impresión que no es eso lo que busca.
Todo lo relacionado con las fechas puedes encontrarlo en la ayuda, en la udf date. Son las funciones que empiezan por _date . Míralas.
Si lo que quieres es saber el número de la semana según el número de día, como si todos los meses empezasen por lunes, una forma fácil podría ser esta:Pero como he dicho al principio, no creo que sea esto. Supongo que lo que el quiere es saber el número real de semana del mes en que cae ese día. Un mes puede empezar por cualquier día de la semana. En esta situación te descuadra todos los cálculos. Hay que hacerlos nuevos y un poquito más enrevesados....no mucho .Código: Seleccionar todo
Local $iDateCalc = Ceiling(@MDAY/7) MsgBox(4096, "", "Número de la semana del mes actual: " & $iDateCalc)
Saludos.Código: Seleccionar todo
#include <Date.au3> Local $iWeekday = _DateToDayOfWeek(@YEAR, @MON, 1) ;averiguo el día en que empieza el mes ;tengo que corregir lo anterior, ya que está en formato americano, o sea que la semana empieza por domingo no por lunes. If $iWeekday=1 Then $iWeekday=6 Else $iWeekday-=2 EndIf Local $iDateCalc = Ceiling((@MDAY+$iWeekday)/7) MsgBox(4096, "", "Número de la semana del mes actual: " & $iDateCalc)
@avechuche: gracias igual , pero ese codigo ya lo habia encontrado en los foros de autoit en ingles y justamente como dice chefito no es exacto.
Me encanta pertenecer a esta gran comunidad de desarrolladores!, saludos!