Fórum Primeiro e Ultimo dia da semana e do mes corrente #326093

25/07/2006

0

Salve pessoal do forum!!!
Estou precisando saber qual a data do primeiro e ultimo dia da semana corrente ... e a mesma coisa com o mes. Vou dar um exemplo hoje é dia 25/07/2006 entao ficaria assim:

Semana:

Primeiro dia da semana: Domingo
Data de Domingo: 23/07/2006 <-- Preciso desta data

Ultimo dia da semana: Sabado
Data de Sabado: 29/07/2006 <-- Preciso desta data

-----------------------------------------------------------------------------


Mes

Primeiro dia do mes: Sabado
Data de Domingo: 01/07/2006 <-- Preciso desta data

Ultimo dia do mes: Segunda
Data de Sabado: 31/07/2006 <-- Preciso desta data


Espero que eu tenha expressado bem minha duvida, fico no aguardo.
valewww


Mmoreira

Mmoreira

Responder

Posts

25/07/2006

Massuda

Acho que o jeito mais fácil é converter sua data para um TDateTime; daí...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
uses
  SysUtils,
...
 
var
  DT: TDateTime;
  X: TDateTime;
  D, M, A: Word;
  I: Integer;
...
  DT := ...sua...data...
 
  // extrai dia/mes/ano (talvez você já tenha isso separado)
  DecodeDate(DT, A, M, D);
 
  // primeiro dia do mês
  X := EncodeDate(A, M, 1);
 
  // ultimo dia do mês
  X := EncodeDate(A, M, MonthDays[IsLeapYear(A)][M]);
 
  // primeiro dia da semana
  I := DayOfWeek(DT);
  X := DT - (I - 1); // último domingo em relação a DT
 
  // último dia da semana
  I := DayOfWeek(DT);
  X := DT + (7 - I); // próximo sábado em relação a DT



Responder

Gostei + 0

25/07/2006

Night_man

ae...

utilize a unit dateUtils

Primeiro dia da semana: Domingo
Data de Domingo: 23/07/2006 <-- Preciso desta data
StartOfTheWeek(Data)

Ultimo dia da semana: Sabado
Data de Sabado: 29/07/2006 <-- Preciso desta data
StartOfTheWeek(Data)

Primeiro dia do mes: Sabado
Data de Domingo: 01/07/2006 <-- Preciso desta data
StartOfTheMonth(Data)

Ultimo dia do mes: Segunda
Data de Sabado: 31/07/2006 <-- Preciso desta data
StartOfTheMonth(Data)


date eh um datetime com a data deseja, hoje por exemplo


Responder

Gostei + 0

25/07/2006

Joaoshi

Colega,

PrimeiroDiaDoMes.Text := DateToStr(StartOfTheMonth(date));
UltimoDiaDoMes.Text := DateToStr(endOfTheMonth(date));

DomingoDaSemana.Text := DateToStr( StartOftheWeek(date)-1 );
SabadoDaSemana.Text := DateToStr( StartOftheWeek(date)+5 );

Espero ter ajudado.


Responder

Gostei + 0

25/07/2006

Mmoreira

BLZ PESSOAL ... ERA ISSO MESMO QUE EU ESTAVA PRECISANDO, FICO MUITO AGRADECIDO A TODOS.
VALEW!!!!


Responder

Gostei + 0

25/07/2006

Massuda

utilize a unit dateUtils
Nem lembrei disso! As versões mais antigas do Delphi não tem DateUtils, mas é bem mais simples para quem tem isso à disposição.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar