Anuncios Google

Siempre obtengo fecha y hora en 1970!!!

Hola amigos,

soy el desarrollador de la herramienta que sirve para localizar satélites llamado SatFinder. Es un Homebrew hecho en lua que podeis conseguir en este mismo sitio web.

El tema es que estoy portandolo a C, y el primer problema que me he encontrado, despues de instalarme el toolchain, cygwin, etc., es que cuando le pido la fecha y la hora en un programa, me devuelve la hora correcta, pero la fecha siempre la del 1 de Enero de 1970!. Si no soluciono esto no puedo avanzar.

Este sería un codigo chorra para obtener por pantalla la fecha. Si alguno tiene el entorno instalado y tal, podría probar a compilarlo y ver que le sale?

 

Un saludo! y muchas gracias por adelantado por la ayuda que podais darme.

 

//Basic includes
#include <pspkernel.h>
#include <pspdebug.h>
//Display include
#include <pspdisplay.h>
//Controls include
#include <pspctrl.h>
#include <time.h>

PSP_MODULE_INFO("Ejemplo", 0, 1, 1);

#define printf pspDebugScreenPrintf

/* Exit callback */
int exit_callback(int arg1, int arg2, void *common) {
    sceKernelExitGame();
    return 0;
}

/* Callback thread */
int CallbackThread(SceSize args, void *argp) {
    int cbid;
    
    cbid = sceKernelCreateCallback("Exit Callback", exit_callback, NULL);
    sceKernelRegisterExitCallback(cbid);
    
    sceKernelSleepThreadCB();
    
    return 0;
}

/* Sets up the callback thread and returns its thread id */
int SetupCallbacks(void) {
    int thid = 0;
    
    thid = sceKernelCreateThread("update_thread", CallbackThread, 0x11, 0xFA0, 0, 0);
    if(thid >= 0) {
            sceKernelStartThread(thid, 0, 0);
    }
    
    return thid;
}

/* Main */
int main() {
    // Initialization functions
    pspDebugScreenInit();
    SetupCallbacks();
    

    
    SceCtrlData pad;
    printf("Pulsa X para comenzar...");
    
    while(1) {
        sceCtrlReadBufferPositive(&pad, 1);        
        if(pad.Buttons & PSP_CTRL_CROSS) {
             break;
        }
    }

    pspDebugScreenClear();

    time_t rawtime;
    struct tm * timeinfo;

    time ( &rawtime );
    timeinfo = localtime ( &rawtime );
    printf ( "Current local time and date: %s", asctime (timeinfo) );
    

    while(1) {
        sceCtrlReadBufferPositive(&pad, 1);        
        if(pad.Buttons & PSP_CTRL_CIRCLE) {
             break;
        }
    }
   
    // Sleep the PSP till press HOME and exit.
    sceKernelSleepThread();
    return 0;
        
}


Anuncios Google

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de Unicorn

Quiza te sea util

echar un vistazo a codigo funcional. Te dejo enlace al LightMP3, que incluye la funcion que mencionas (muestra en pantalla fecha y hora de PSP).

Tienes el codigo fuente en la noticia. 

Un saludo crack. 


Para recibir ayuda más rápidamente, recomendamos que pongas títulos descriptivos y no utilices abreviaturas (estilo MSN) en tus post de los foros. Recuerda revisar el Manual del perfecto forero y las Normas de la Comunidad.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.