Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Dia Juliano a Fecha (https://www.clubdelphi.com/foros/showthread.php?t=78790)

trex2000 17-05-2012 07:33:02

Dia Juliano a Fecha
 
Saludos a todos, mi pregunta es dado un num. entre 1 al 365 como me podria regresar el dia de la fecha?

Osea si yo le doy el num. 1 que me regrese 01/01/2012 o del año en curso.

Espero haberme explicado.

De antemano muchas gracias.

marcoszorrilla 17-05-2012 07:43:35

Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
function fechaJuliana (fechaGregoriana : TDateTime) : Integer;
var
  dia, mes, ano : Word;
begin
  fechaGregoriana := Trunc(fechaGregoriana );
  DecodeDate(fechaGregoriana, ano, mes, dia);
  Result := Trunc(fechaGregoriana - EncodeDate(ano , 1 , 1)+1);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
showmessage('El número de día de hoy en el año es: ' + IntToStr(fechaJuliana (date)));
end;

end.

Un Saludo.

roman 17-05-2012 17:27:43

Yo entendí que era alrevés: a partir del número de día obtener la fecha (del año actual). Podria hacerse así:

Código Delphi [-]
uses DateUtils;

function DayNumberToDate(DayNumber: Integer): TDate;
begin
  Result := EncodeDate(YearOf(Today()), 1, 1) + DayNumber - 1;
end;

Lo que sí, es que este número de día, según entiendo, no corresponde al llamado día juliano.

// Saludos

trex2000 17-05-2012 18:41:11

Les explico un poco mas, en el software que estoy haciendo hay una parte que me va a pedir un num de lote que va ser el dia juliano pero ese dia ya fue empacado dias antes, entonces para saber la fecha de caducidad los productos tienen dias de vida y por eso es que al darle el num que me pide me saque la fecha del dia que fue empacado para poder determinar la caducidad.


Espero haberme dado a entender.

De antemano muchas gracias.

trex2000 17-05-2012 22:01:03

Muchas gracias ya quedo solucionado.


La franja horaria es GMT +2. Ahora son las 05:22:50.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi