Format Date

illiterate2020

Utente Attivo
28 Set 2020
57
5
8
ma puoi benissimo fare anche
Codice:
$data_incarico = "21/02/21";
$data_incarico = str_replace('/', '-', $data_incarico);
$data_incarico_strtime =strtotime($data_incarico);
$test = date("d-m-y", $data_incarico_strtime);
echo $test;
 

illiterate2020

Utente Attivo
28 Set 2020
57
5
8
aggiungo inoltre che se no devi usare l'anno per esterso "2021" ti basta solo una riga di codice quella che sotistuisce il "/" con il "-"
 

Emanuele85

Utente Attivo
30 Gen 2021
117
0
16
Ah dimenticavo, per risolvere questo fai cosi:
PHP:
$parte=substr($data_incarico,0,6);
$anno = substr($data_incarico,6,2);
echo "Anno ".$anno; //output: 21
echo "<br>";
$var = date_create_from_format('y',$anno);
echo $parte.$var->format('d-m-Y');
Tommy questa procedura Mi restituisce : output:17-02-20-03-2021, è come se prendesse i primi 6 caratteri $parte e ok... e poi accoda la data di oggi...
 

Emanuele85

Utente Attivo
30 Gen 2021
117
0
16
ma puoi benissimo fare anche
Codice:
$data_incarico = "21/02/21";
$data_incarico = str_replace('/', '-', $data_incarico);
$data_incarico_strtime =strtotime($data_incarico);
$test = date("d-m-y", $data_incarico_strtime);
echo $test;
Illiterate... questo invece restituisce 21-02-17 invece la data di partenza è 17/02/2021.
Sul discorso del numero di caratteri o del formato, io non ho preferenze, ma mi sembra di aver capito che sono con formato gg-mm-aaaa non avrò problemi in futuro per eventuali filtri e/o calcoli... Giusto?
Al momento voglio fare un semplice calcolo per capire quanti giorni sono passati da una data $row->data_sca ad oggi...pensavo fosse più semplice... scusatemi...

E
 

illiterate2020

Utente Attivo
28 Set 2020
57
5
8
ho appena fatto questo test con output 17-02-2021 quindi mi pare che funzioni correttamente
Codice:
<?php
$data_incarico = "17/02/2021";
$data_incarico = str_replace('/', '-', $data_incarico);
$data_incarico_strtime =strtotime($data_incarico);
$test = date("d-m-Y", $data_incarico_strtime);
echo $test;
?>
 

Emanuele85

Utente Attivo
30 Gen 2021
117
0
16
ho appena fatto questo test con output 17-02-2021 quindi mi pare che funzioni correttamente
Codice:
<?php
$data_incarico = "17/02/2021";
$data_incarico = str_replace('/', '-', $data_incarico);
$data_incarico_strtime =strtotime($data_incarico);
$test = date("d-m-Y", $data_incarico_strtime);
echo $test;
?>
Il problema è che la mia data_incarico è 17/12/21 e non 17/12/2021...
 

illiterate2020

Utente Attivo
28 Set 2020
57
5
8
Codice:
<?php
$data_incarico = "17/12/21 ";
$data_incarico = str_replace('/21', '-2021', $data_incarico);
$data_incarico = str_replace('/', '-', $data_incarico);
$data_incarico_strtime =strtotime($data_incarico);
$test = date("d-m-Y", $data_incarico_strtime);
echo $test;
?>
 

illiterate2020

Utente Attivo
28 Set 2020
57
5
8
Codice:
$data_incarico = "17/12/21 ";
$data_incarico = str_replace('/21', '-2021', $data_incarico);
$data_incarico = str_replace('/', '-', $data_incarico);
echo $data_incarico;
 

Emanuele85

Utente Attivo
30 Gen 2021
117
0
16
Tra poco provo e vi aggiorno... La tua procedura Illiterate funzionerebbe se tutte le date fossero con anno 2021...ma ho tante variabili...per esempio le date di nascita possono essere anche precedenti al 2000 (infatti devo testare la procedura di Tommy come si comporta con le date pre "00"... Ma a prescindere...GRAZIE MILLE PER L'AIUTO!!!!
 

Emanuele85

Utente Attivo
30 Gen 2021
117
0
16
Vi aggiorno... la procedura di Tommy funziona perfettamente anche con anni precedenti al 2000 (provato con 1998). Quindi ora ho 2 date formattate gg-mm-aaaa.
Ho provato a fare la differenza in giorni ma non va... potrebbe essere un problema di formattazione? Vi faccio vedere il codice completo:
PHP:
$data_attuale =date("d-m-Y");
$data_incarico = str_replace('/', '-', $row->data_sca);
$parte = substr($data_incarico,0,6);
$anno = substr($data_incarico,6,2);
$var = date_create_from_format('y',$anno);
$data_completa= $parte.$var->format('Y');
$intervallo = date_diff($data_attuale, $data_completa);
echo $intervallo->format('%a days');

in un vecchio esempio che avevo provato questa procedura funzionava perfettamente, mi restituiva "2 giorni"... ve lo mostro...

PHP:
$data1 = date_create('2017-04-13');
$data2 = date_create('2017-04-15');
$interval = date_diff($data1, $data2);
echo $interval->format('%a giorni');

Avete qualche idea?
 

Emanuele85

Utente Attivo
30 Gen 2021
117
0
16
Ho provato anche ad utilizzare il formato americano aaaa-mm-gg ma niente... (non so se è giusto costruire così il formato americano per $data_completa)

PHP:
$data_attuale =date("Y-m-d");
echo $data_attuale;
echo "<br>";
$data_incarico = str_replace('/', '-', $row->data_sca);
$gg = substr($data_incarico,0,2);
$mm = substr($data_incarico,3,2);
$anno = substr($data_incarico,6,2);
$anno = date_create_from_format('y',$anno);
$data_completa= $anno->format('Y')."-".$mm."-".$gg;
echo $data_completa;
echo "<br>";
$intervallo = date_diff($data_completa, $data_attuale);
echo $intervallo->format('%a days');
 

illiterate2020

Utente Attivo
28 Set 2020
57
5
8
Codice:
$data_attuale =date("Y-m-d");
echo $data_attuale;
echo "<br>";
$data_incarico = "17-05-90";
$gg = substr($data_incarico,0,2);
$mm = substr($data_incarico,3,2);
$anno = substr($data_incarico,6,2);
$anno = date_create_from_format('y',$anno);
$data_completa= $anno->format('Y')."-".$mm."-".$gg;
echo $data_completa;
echo "<br>";

$data_attuale=date_create("$data_attuale");
$data_completa=date_create("$data_completa");

$intervallo = date_diff($data_completa, $data_attuale);
echo $intervallo->format('%a days');
 

Emanuele85

Utente Attivo
30 Gen 2021
117
0
16
Codice:
$data_attuale =date("Y-m-d");
echo $data_attuale;
echo "<br>";
$data_incarico = "17-05-90";
$gg = substr($data_incarico,0,2);
$mm = substr($data_incarico,3,2);
$anno = substr($data_incarico,6,2);
$anno = date_create_from_format('y',$anno);
$data_completa= $anno->format('Y')."-".$mm."-".$gg;
echo $data_completa;
echo "<br>";

$data_attuale=date_create("$data_attuale");
$data_completa=date_create("$data_completa");

$intervallo = date_diff($data_completa, $data_attuale);
echo $intervallo->format('%a days');
SPETTACOLO.... Grazie mille...

Funziona perfettamente....
 

Emanuele85

Utente Attivo
30 Gen 2021
117
0
16
Si ho notato...siete stati davvero troppo gentili... GRANDE FORUM... GRANDI PERSONE!!!!

Grazie
E
 

sbolde91

Nuovo Utente
19 Mar 2021
9
0
1
Ci sto per rinunciare...

PHP:
$data_attuale =date("d-m-Y");
echo $data_attuale; //output: 20-03-2021
echo "<br>";
$data_incarico = str_replace('/', '-', $row->data_sca);
echo "data_incarico ".$data_incarico; //output: 17-02-21
echo "<br>";
$anno = substr($data_incarico,6,2);
echo "Anno ".$anno; //output: 21
echo "<br>";
$var = date_create_from_format('Y',$anno);
echo $var->format('d-m-Y'); //output:20-03-0021

Il $var ha la data di oggi e non in contenuto del Db e soprattutto con anno 0021...
Sto nel pallone... Scusatemi ho codice su codice e prove su prove...

E

Secondo me ti conviene dare una letta alla documentazione per sapere di preciso cosa fanno (e come usare) i metodi che ti servono.
 
Discussioni simili
Autore Titolo Forum Risposte Data
L [mysql] date format "metterlo in italiano" PHP 1
A Format Date Database 6
F Date/Time format & multiple selection with listbox problem in ASP.net & C# ASP.NET 0
G Testo in mysql format 3 MySQL 0
maxnegri [Javascript] TinyDatePicker data format e selezione progressiva. Javascript 0
felino [C#] String format: qualche dubbio! C/C++ 1
G number format , prezzi e decimal su db PHP 2
J Currency Format script Javascript 0
J Currency Format script Javascript 0
C Format x prenotazione prodotti Flash 0
T Query con date MS Access 1
MarcoGrazia Calcolo fra due date con esclusione delle feste PHP 7
S Differenza date record successivi MS Access 7
napuleone Con le date il codice da di matto o forse non è così Javascript 6
napuleone Con le date mi da di matto o forse è proprio così jQuery 1
elpirata Impedire inserimento data di oggi e date passate jQuery 39
A attributo "min" per input gestione date PHP 8
Alex_70 Javascript date color Javascript 3
FabioJ Formattazione date openoffice calc Linux e Software 0
O query con date in formato stringa PHP 3
F Creare un set di date a seconda del frazionamento scelto da inserire in MySQL PHP 6
S aggiungere colonna date in una tabella già esistente Database 0
P [PHP] Input Type="date" non va correttamente con Apple PHP 2
A [Java]Date diminuite di un giorno su db MySQL Java 0
V [MySQL] problema query con date su server MySQL 5
maxnegri [PHP]Funzione di calcolo prezzo di una camera in un range di date PHP 62
maxnegri Conoscere giorni della settimana fra due date con php PHP 2
S [HTML] Problema <input type="date"> HTML e CSS 0
Daniele_Carrara [Javascript] Modifica input date Javascript 5
Licantropo [MySQL] Cambiare le date MySQL 4
P [PHP] Calcolo prezzi camera in range di date diverse PHP 11
M [PHP] Convertire date da americana a italiana direttamente nel db PHP 6
trattorino [PHP] prelevare minuti da date confrontate PHP 2
Emix [PHP] Differenza Date + Ore PHP 3
MarcoGrazia campo con autocompletamento a formato multiplo (nomi/date) jQuery 3
diego66 [Javascript] Calcolare giorni lavorativi comprese tra due date Javascript 0
napuleone [PHP] Ho la settimana e l'anno cerco le date PHP 4
gandalf1959 Selezionare un intervallo tra due date, php e mysql PHP 2
valvasori [PHP] Proble di date PHP 14
M [PHP] Date(time) PHP 2
filippino Chiavi a corrispondenza inversa per i risultati organici? (Era: come NON farsi trovare con date chia SEO e Posizionamento 4
S funzioni per calcoli sulle date PHP 4
G Tabella con date PHP 9
felino [MySQL][phpMyAdmin] Convertire colonna da VARCHAR a DATE MySQL 3
M Limit DATE PHP 6
V Date e operazioni aritmetiche PHP 13
A Problema con "explode" su campo date PHP 9
V date mysql MySQL 0
V Reperire le date della settimana del calendario jQuery 1
M Otttimizazione date calendario prenotazioni PHP 0

Discussioni simili