Red de conocimiento informático - Computadora portátil - díasys

díasys

Es necesario hacer algunas suposiciones razonables:

1 La hora de entrada tiene el formato aaaa-mm-dd hh:mm:ss, que es año, mes, día. , minutos y segundos

2 La hora del sistema se refiere a la hora local (hora en esta zona horaria)

En base a estos, el código es el siguiente: #include?lt; hgt;

#include?lt; stdio. hgt;

#include?lt;stdlib.hgt;

int?main()

{

char?Time[256 ]?=?"";

printf("¿Por favor?ingrese?una?hora?en?este?formato?aaaa-mm -dd?hh:mm:ss:\n");

p>

scanf("s", Hora);

unsigned?int?año, lunes, día, hora , min, seg;

sscanf(Hora, "d-d-d ?d:d:d",amp;año,amp;mon,amp;día,amp;hora,amp;min,amp;seg) ;

time_t?timep;

struct?tm?*p;

time(amp;timep);//Obtener la hora actual

p?=?localtime(amp;timep);?//Obtener la hora local Hora

unsigned?int?dayin, daysys, tickin, ticksys;

dayin? =?año*10000 mes*100 día;

díasys?=? p-gt;tm_año*10000 p-gt;tm_mon*100 p-gt;tm_mdía;

if( dayin?gt;?daysys)?{

printf("s? ​​is?big\n", Hora);

return?0;

} else?if(dayinlt;daysys)?{

printf("d-d-d ?d:d:d?is?big\n",

p-gt;tm_year,p- gt;tm_mon,p-gt;tm_mday,p-gt;tm_hour,p-gt;tm_min , p-gt; tm_sec

return?0; p>

//Fechas iguales

tickin?=?hora *3600 min*60 seg;

ticksys?=?p-gt;tm_hour*3600 p-gt; tm_min*60 p-gt;tm_sec;

if(tickingt; ticksys ){

printf("s?is?big\n", Hora);

return?0;

}else{

printf("d-d-d?d:d:d?is?big\n",

p- gt;tm_año,p-gt;tm_mon,p-gt;tm_mday,p-gt;tm_hora, p-gt; tm_min, p-gt;

retorno

;

}

//El tiempo también es igual

printf("time?is?equal!\n");

ret

urna?0;

}