TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: halowin en 22 de Marzo de 2014, 12:21:15

Título: Calcular el numero de dia del año de una fecha dada
Publicado por: halowin en 22 de Marzo de 2014, 12:21:15
Hola.
Necesito crear en Mikroc una funcion que me devuelva el número del día del año de una fecha dada.
En C la tengo hecha y funciona perfecto pero uso <time.h> que no existe en mikroc.
La prueba que he hecho es asi:

Código: [Seleccionar]
#include <stdio.h>
#include <time.h>
 
 
int main(void){

  int d1,d2,m1,m2;
  int dia,mes;
  struct tm  mifecha;
  int seleccionada;
  char buff[3];
   
  d1 = 0; d2 = 1;
  m1 = 0; m2 = 3;
   
  dia = d1*10+d2;
  mes = m1*10+m2;
   
  printf("dia=%d  mes=%d",dia,mes);
   
    mifecha.tm_mday = dia;
    mifecha.tm_mon  = mes-1;
    mifecha.tm_year = 2014-1900;
    mifecha.tm_hour = 0;
    mifecha.tm_min = 0;
    mifecha.tm_sec = 1;
    mifecha.tm_isdst = -1;
   
    seleccionada = mktime(&mifecha);
   
    if( seleccionada == -1 ){
    printf("Error: unable to make time using mktime\n");
    }else{
    strftime(buff, sizeof(buff), "%j", &mifecha );
      printf("\ndias contados=%d",mifecha.tm_yday+1 );
    }

 
    return 0;
}


d1,d2,m1 y m2 son digitos que teclea el usuario por un teclado 3x4 y se reflejan en un lcd, a partir de la composicion de esa fecha busco un registro determinado en una EEPROM, lo tengo todo hecho pero me he encontrado con este problema.

Saludos.