Visualizzazione dei risultati da 1 a 7 su 7

Discussione: funzione conversione

  1. #1

    funzione conversione

    premetto ve vengo dalla programmaz in ASP. ho una stringa formattata in questo modo "aaaa/mm/gg" ad esempio:
    "2006/03/01" --> mercoledi 01 marzo

    grazie

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    devi passare dal timestamp.

    quindi devi esplodere la data:

    codice:
    list($anno, $mese, $giorno) = explode("/",$data);
    ti ricavi il timestamp
    codice:
    $ts = mktime (0,0,0,$mese, $giorno, $anno);
    Poi formatti la data
    codice:
    strftime("%A %e %B %Y", $ts);
    Strftime usa la lingua di default del server per mostrare la data nella lingua corretta.

    Se vedi la data in inglese puoi settare la lingua italiana usando il seguente comando (sempre che la lingua italiana sia presente sul server):

    codice:
    setlocale(LC_ALL, 'it_IT'); // PER LINUX 
    setlocale(LC_ALL, 'it_IT@euro'); // PER WIN


    Ecco le reference alle funzioni che ho usato:
    http://www.php.net/manual/it/function.explode.php
    http://www.php.net/manual/it/function.mktime.php
    http://www.php.net/manual/it/function.strftime.php
    http://www.php.net/manual/it/function.setlocale.php


  3. #3
    questa è la mia data:
    2005-10-15
    e questo è il risultato delle istruzioni inserite
    1129327200

    codice:
    list($anno, $mese, $giorno) = explode("-",$entry2);
    $ts = mktime (0,0,0,$mese, $giorno, $anno);
    strftime("%A %e %B %Y", $ts);
    //setlocale(LC_ALL, 'it_IT@euro'); // PER WIN

  4. #4

    up


  5. #5
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    magari poi o assegni il risultato o lo mostri...

    codice:
    /* ovviamente questo lo metti prima, altrimenti la lingua viene settata dopo che hai scritto la data */ 
    setlocale(LC_ALL, 'it_IT@euro'); // PER WIN
    list ($anno, $mese, $giorno) = explode("-",$entry2);
    $ts = mktime (0,0,0,$mese, $giorno, $anno);
    /* e questo o lo mostri o lo assegni a una var, altrimenti non lo vede nessuno */
    
    echo strftime("%A %e %B %Y", $ts);
    ciao

  6. #6
    grazie funziona tutto!
    tranne che per tradurlo in italiano ho fatto diverve prove ed ha acettato la seguente isctruzione per visualizzare in Italiano
    codice:
    setlocale(LC_TIME,'it');
    grazie

  7. #7
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Originariamente inviato da tomhead
    grazie funziona tutto!
    tranne che per tradurlo in italiano ho fatto diverve prove ed ha acettato la seguente isctruzione per visualizzare in Italiano
    codice:
    setlocale(LC_TIME,'it');
    si infatti può dipendere dall'installazione...
    grazie


    di niente..

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.