Página 1 de 1
Obtener Semana del mes
Publicado: 28 Oct 2012, 01:05
por nelson13
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!
Re: Obtener Semana del mes
Publicado: 28 Oct 2012, 01:30
por avechuche
Si entendi, es algo facil, del 1 al 7 inclusive es la primer semana, del 8 al 14 es la segunda y asi
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
No se si es lo que buscas.
Re: Obtener Semana del mes
Publicado: 28 Oct 2012, 19:30
por Chefito
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:
Código: Seleccionar todo
Local $iDateCalc = Ceiling(@MDAY/7)
MsgBox(4096, "", "Número de la semana del mes actual: " & $iDateCalc)
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
#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)
Saludos.
Re: Obtener Semana del mes
Publicado: 31 Oct 2012, 06:17
por nelson13
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:
Código: Seleccionar todo
Local $iDateCalc = Ceiling(@MDAY/7)
MsgBox(4096, "", "Número de la semana del mes actual: " & $iDateCalc)
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
#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)
Saludos.
Mil Gracias
! me salvastes la vida Chefito!, es justo lo que buscaba.
@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!