devo sommare 1 giorno ad una data.

devo sommare 1 giorno ad una data, esiste qualche funzione predefinita che lo fà?

graie

inviato 10 anni fa
ventrix
X 0 X

In che formato è memorizzata la data? E' un timestamp? E' una semplice stringa, tipo "3/2/06"?

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

è nel formato '2006-02-03'

risposto 10 anni fa
ventrix
X 0 X

viene da una query a MySQL?

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

no.

ad oggi devo aggiungere un giorno ed averlo nel formato

"2006-01-01"

oppure

"01-01-2006"

grazie

risposto 10 anni fa
ventrix
X 0 X

prova così:

echo date("Y-m-d",mktime(0,0,0,date('m'),date('d')+1,date('Y')));

ciao

risposto 10 anni fa
Lore
Lore
1
X 0 X

forse è meglio così:

echo date('Y-m-d', strtotime("+1 day"));

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

grazie.

complimenti da parte di mio figlio (5 anni) per mr.incredible, ha detto che devi essere fortissimo.

io ho confermato.

ciao

risposto 10 anni fa
ventrix
X 0 X

[OT]

che cambia e come viene mostrato il formato di date TIMESTAMP ? e come si usa/converte prendendolo dal DB? esiste un campo apposito per i timestamp in mysql?? [/OT]

risposto 10 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

[OT]

che cambia e come viene mostrato il formato di date TIMESTAMP ? e come si usa/converte prendendolo dal DB? esiste un campo apposito per i timestamp in mysql?? [/OT]

Ci vorrebbe un'intera giornata per rispondere a tutte le domande, e poi sarebbe troppo OT  :death:

Magari ne discutiamo in un nuovo thread.

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

forse è meglio così:

echo date('Y-m-d', strtotime("+1 day"));

 :bye:

Ciao Gianni io avrei

$term = $line['date']

Come possa farlo interagire con il codice che hai postate te?

Un altra piccolissima cosuccia: si può aggiungere più di un giorno (magari due o tre)?

Grazie

risposto 10 anni fa
dantefoxfox
X 0 X

prova così:

//Se il fomato di $line['date'] è del tipo Y-m-d
list($anno,$mese,$giorno) = explode("-",$line['date']);

$N = 1; //giorni da sommare

echo "Data: ".date("Y-m-d",mktime(0,0,0,$mese,$giorno+$N,$anno));

ciao

risposto 10 anni fa
Lore
Lore
1
X 0 X

Ma se $giorno è l'ultimo del mese o l'ultimo dell'anno che succede? Hai verificato che mktime continua a funzionare?

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Se è l'ultimo del mese stampa il primo giorno(01) del mese successivo

list($anno,$mese,$giorno) = explode("-","2006-02-28");

$N = 1; //giorni da sommare

echo "Data: ".date("Y-m-d",mktime(0,0,0,$mese,$giorno+$N,$anno));
//stampa a video 2006-03-01

Se è l'ultimo dell'anno stamperà il primo giorno dell'anno successivo:

list($anno,$mese,$giorno) = explode("-","2006-12-31");

$N = 1; //giorni da sommare

echo "Data: ".date("Y-m-d",mktime(0,0,0,$mese,$giorno+$N,$anno));
//stampa a video 2007-01-01

e così anche per le date 'intermedie', ex:

//data odierna 2006-02-27
list($anno,$mese,$giorno) = explode("-",date('Y-m-d'));

$N = 1; //giorni da sommare

echo "Data: ".date("Y-m-d",mktime(0,0,0,$mese,$giorno+$N,$anno));
//stampa a video 2006-02-28

ciao

Lore

risposto 10 anni fa
Lore
Lore
1
X 0 X

prova così:

//Se il fomato di $line['date'] è del tipo Y-m-d
list($anno,$mese,$giorno) = explode("-",$line['date']);

$N = 1; //giorni da sommare

echo "Data: ".date("Y-m-d",mktime(0,0,0,$mese,$giorno+$N,$anno));

ciao

con un formato Y-m-d h:i:s funziona?

Bisogna modificare qualcosa?

p.s. la data che "acchiappo" dal database è tipo questa 2006-02-24 22:50:49

risposto 10 anni fa
dantefoxfox
modificato 10 anni fa
X 0 X

Se hai un formato del tipo

Y-m-d H:i:s

devi modificare leggermente lo script:

$exp = explode(" ",$line['date']);
list($anno,$mese,$giorno) = explode("-",$exp[0]);
list($ora,$min,$sec) = explode(":",$exp[1]);

$N = 1; //giorni da sommare

echo "Data: ".date("Y-m-d",mktime($ora,$min,$sec,$mese,$giorno+$N,$anno));

/*
Nel caso devi sommare delle ore, per esempio 2ore
echo "Data: ".date("Y-m-d",mktime($ora+2,$min,$sec,$mese,$giorno,$anno));
e così via per le altre...dipende da quello che devi fare tu
*/

Spero di esserti stato d'aiuto

http://it.php.net/manual/it/function.mktime.php

ciao

Lore

risposto 10 anni fa
Lore
Lore
1
X 0 X

Non ti offendere, ma mi dà solo l'anno, il mese ed il giorno, ma le ore, i minuti ed i secondi no.

risposto 10 anni fa
dantefoxfox
X 0 X
Non ti offendere, ma mi dà solo l'anno, il mese ed il giorno, ma le ore, i minuti ed i secondi no.

Nessuna offesa, anzi, mi scuso io, mi sono mangiato un pezzo di scritp,cambia questa riga:

echo "Data: ".date("Y-m-d",mktime($ora,$min,$sec,$mese,$giorno+$N,$anno));

con questa

echo "Data: ".date("Y-m-d H:i:s",mktime($ora,$min,$sec,$mese,$giorno+$N,$anno));

ed avrai anche ore:minuti:secondi

ciao

Lore

risposto 10 anni fa
Lore
Lore
1
X 0 X
Non ti offendere, ma mi dà solo l'anno, il mese ed il giorno, ma le ore, i minuti ed i secondi no.

Nessuna offesa, anzi, mi scuso io, mi sono mangiato un pezzo di scritp,cambia questa riga:

echo "Data: ".date("Y-m-d",mktime($ora,$min,$sec,$mese,$giorno+$N,$anno));

con questa

echo "Data: ".date("Y-m-d H:i:s",mktime($ora,$min,$sec,$mese,$giorno+$N,$anno));

ed avrai anche ore:minuti:secondi

ciao

Lore

Grazie adesso funziona :D

p.s. anch'io deficiente a non vederlo :idiot:, visto che l'ho scritto prima.

risposto 10 anni fa
dantefoxfox
X 0 X

Di niente

 ;D  :idiot:  O0

ciao

Lore

risposto 10 anni fa
Lore
Lore
1
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda