Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 39

Discussione: Modificare formato ora

  1. #1
    Utente bannato L'avatar di Ht28
    Registrato dal
    May 2006
    Messaggi
    1,544

    Modificare formato ora

    Questo codice stampa l'ora formato 24, dovrei modificarlo per farlo 12 ore con am, pm

    Codice PHP:
    //Mette a video l'ora
    function startTime() {
    var 
    today = new Date();
    var 
    ora today.getHours();
    var 
    minuti today.getMinutes();
    var 
    secondi today.getSeconds();
    if (
    minuti<=9) { minuti='0'+minuti; };
    if (
    secondi<=9) { secondi='0'+secondi; };
    setTimeout(function() { startTime() },1000);
    document.getElementById('txt').innerHTML ora ':' minuti ':' secondi;


  2. #2
    metti un if che gestisca l'ora tipo come hai fatto nei minuti e nei secondi


    codice:
    function startTime() { 
    var today = new Date(); 
    var ora = today.getHours(); 
    if(ora > 12) 
    {	ora = ora - 12;
    	parteGiorno = 'pm';
    }
    else
    {	parteGiorno = 'am';
    }	
    var minuti = today.getMinutes(); 
    var secondi = today.getSeconds(); 
    if (minuti<=9) { minuti='0'+minuti; }; 
    if (secondi<=9) { secondi='0'+secondi; }; 
    setTimeout(function() { startTime() },1000); 
    document.getElementById('txt').innerHTML = ora + ':' + minuti + ':' + secondi + ' ' + parteGiorno; 
    }

  3. #3
    Utente bannato L'avatar di Ht28
    Registrato dal
    May 2006
    Messaggi
    1,544
    Originariamente inviato da scimmiaparlante
    metti un if che gestisca l'ora tipo come hai fatto nei minuti e nei secondi


    codice:
    function startTime() { 
    var today = new Date(); 
    var ora = today.getHours(); 
    if(ora > 12) 
    {	ora = ora - 12;
    	parteGiorno = 'pm';
    }
    else
    {	parteGiorno = 'am';
    }	
    var minuti = today.getMinutes(); 
    var secondi = today.getSeconds(); 
    if (minuti<=9) { minuti='0'+minuti; }; 
    if (secondi<=9) { secondi='0'+secondi; }; 
    setTimeout(function() { startTime() },1000); 
    document.getElementById('txt').innerHTML = ora + ':' + minuti + ':' + secondi + ' ' + parteGiorno; 
    }
    Funziona però pm scatta all'una, non dovrebbe scattare alle 12?

  4. #4
    sinceramente ora mi metti dei dubbi... :

    non lo so ma se così fosse penso tu possa tranquillamente ovviare al problema

    EDIT: si penso tu abbia ragione
    quindi al momento mi viene solo in mente di gestirli (12 e 24) con degli else if personalizzati


  5. #5
    Utente bannato L'avatar di Ht28
    Registrato dal
    May 2006
    Messaggi
    1,544
    Originariamente inviato da scimmiaparlante
    sinceramente ora mi metti dei dubbi... :

    non lo so ma se così fosse penso tu possa tranquillamente ovviare al problema
    Sto provando, è questa parte che non capisco, il -12

  6. #6
    il -12 serve perchè se sono le 15 tu devi vedere che sono le 3

    15-12 = 3

    così è uguale per tutti gli orari

  7. #7
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  8. #8
    Utente bannato L'avatar di Ht28
    Registrato dal
    May 2006
    Messaggi
    1,544
    Ho risolto, ho messo 11 così if(ora > 11) {

  9. #9
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    Originariamente inviato da Ht28
    Ho risolto, ho messo 11 così if(ora > 11) {
    Hai provato così?

    codice:
    var ora = (today.getHours() % 12 / 100).toFixed(2).slice(2);
    Ti trasforma l'ora in formato da 0 a 12 e aggiunge uno zero prima se il numero è minore di dieci.

    Cerca di essere il più sintetico possibile quando scrivi. Di solito una buona spia della prolissità di un codice è il proliferare di if/else...
    Tutto ciò che fai con jQuery puoi farlo meglio e con la metà del codice in puro JavaScript.

  10. #10
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    E ovviamente "partegiorno" sarà così:

    codice:
    var partegiorno = today.getHours() > 11 ? "pm" : "am";
    Tutto ciò che fai con jQuery puoi farlo meglio e con la metà del codice in puro JavaScript.

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.