Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it L'avatar di homerbit
    Registrato dal
    Dec 2005
    residenza
    Roma
    Messaggi
    1,380

    come incrementare un mese in due cifre

    Ciao, diciamo che l'oggetto non è del tutto esplicativo, ma non ho trovato un miglior modo per esprimere il concetto
    Veniamo al dunque:
    devo incrementare\decrementare di 1 le cifre che vanno da 01 a 12 le quali appunto rappresentano un mese.
    Non mi occorre gestirle con le funzioni "date()" ma devo proprio passare da 01 a 02 ecc.

    Io ho pensato solo ad una gestione di tipo stringa: separa->somma->accoppia
    esiste qualcosa di più immediato \ elegante?

    che dite?

    Grazie
    If you think your users are idiots, only idiots will use it. DropBox

  2. #2
    non vedo eprchè non usare date, ad esempio epr scrivere la data 4/8/2012 basta scrivere date("d/m/Y") che visualizza 04/08/2012

  3. #3
    Utente di HTML.it L'avatar di homerbit
    Registrato dal
    Dec 2005
    residenza
    Roma
    Messaggi
    1,380
    perchè dovrei incrementare\decrementare di un mese la funzione "data()" della quale però non conosco giorno e anno
    ...forse qualcosa mi è oscuro
    If you think your users are idiots, only idiots will use it. DropBox

  4. #4
    per elaborare le date basta usare le apposite funzioni....ad esempio per sommare un mese alla data suddetta basta quanto segue

    Codice PHP:
    echo date('d/m/Y'strtotime('+1 months')); 
    visualizza 04/09/2012

    dai una occhiata qua e soprattutto qua

  5. #5
    Utente di HTML.it L'avatar di homerbit
    Registrato dal
    Dec 2005
    residenza
    Roma
    Messaggi
    1,380
    ti ringrazio per la pronta risposta ed il suggerimento, la funzione la conosco, il punto è che dovrei incrementare una variabile che va da 01 a 12 ma non fa parte di una data...

    cioè, supponiamo di voler passare da 01 a 02:
    $m = "01";
    per ottenere $m+1 NON posso fare date('d/m/Y', strtotime('+1 months'));
    ecco perchè ho scartato la via delle date()
    If you think your users are idiots, only idiots will use it. DropBox

  6. #6
    usa str_pad......

    es:
    Codice PHP:
    $m='01';
    echo 
    '
    '
    .str_pad($m2"0"STR_PAD_LEFT);//-->01
    $m++;
    echo 
    '
    '
    .str_pad($m2"0"STR_PAD_LEFT);//-->02 

  7. #7
    ah bè ...penavo alle funzioni di date perchè avevi detto all'inizio che si trattava di un mese...cmq potresti fare così:

    Codice PHP:
    $m "01";
    if (
    strpos($m'0')) {
      (int) 
    $m++;
      
    $m "0" $m;


  8. #8
    Utente di HTML.it L'avatar di homerbit
    Registrato dal
    Dec 2005
    residenza
    Roma
    Messaggi
    1,380
    grazie ad entrambi! come immaginavo devo seguire la strada delle stringhe
    If you think your users are idiots, only idiots will use it. DropBox

  9. #9
    Utente di HTML.it L'avatar di homerbit
    Registrato dal
    Dec 2005
    residenza
    Roma
    Messaggi
    1,380
    Originariamente inviato da raven74
    in una sola riga

    Codice PHP:
    $m 12;
    echo 
    sprintf("%1$02d", ++$m%12); 
    mooolto intrigante

    occorre solo inserire il valore di $m tra apici: $m= '..'; altrimenti non funziona con cifre tipo 0X
    vabè...poi i controlli sugli estremi 01 e 12 vanno fatti comunque in tutti e 3 i casi, ma questa riga mi ottimizza di più il lavoro
    detto tra noi devo "esaminarla" meglio
    If you think your users are idiots, only idiots will use it. DropBox

  10. #10
    Utente di HTML.it L'avatar di homerbit
    Registrato dal
    Dec 2005
    residenza
    Roma
    Messaggi
    1,380
    devo incrementare e decrementare di 1
    If you think your users are idiots, only idiots will use it. DropBox

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.