Mam problemy z poprawnym umieszczeniem daty w mojej bazie danych.
$date = date('m/d/Y h:i:s', time());
Używam tego formatu i odbija się on poprawnie, gdy wstawiam
mysql_query("INSERT INTO table
(dateposted)
VALUES ('$date')");
wygląda na to, że nie działa pomyślnie, a czas pozostaje 00:00:00. Jeśli mógłbyś znaleźć świetne rozwiązanie, dziękuję.
Odpowiedzi:
Jeśli chcesz przechowywać aktualny czas, po prostu użyj funkcji MYSQL.
mysql_query("INSERT INTO `table` (`dateposted`) VALUES (now())");
Jeśli potrzebujesz do tego użyć PHP, sformatuj go,
Y-m-d H:i:s
więc spróbuj$date = date('Y-m-d H:i:s'); mysql_query("INSERT INTO `table` (`dateposted`) VALUES ('$date')");
źródło
UTC_TIMESTAMP()
( dev.mysql.com/doc/refman/5.5/en/… ) jest preferowane zamiastNOW()
Spróbuj tego zamiast tego
$date = date('Y-m-d H:i:s');
źródło
możesz użyć CURRENT_TIMESTAMP, funkcji mysql
źródło
NOW()
służy do wstawiania bieżącej daty i godziny w tabeli MySQL. Wszystkie pola z typami danychDATETIME, DATE, TIME & TIMESTAMP
działają dobrze z tą funkcją.RRRR-MM-DD HH: mm: SS
Demonstracja:
Poniższy kod przedstawia użycie
NOW()
INSERT INTO auto_ins (MySQL_Function, DateTime, Date, Time, Year, TimeStamp) VALUES (“NOW()”, NOW(), NOW(), NOW(), NOW(), NOW());
źródło
ustaw
type
kolumnę o nazwiedateposted
asDATETIME
i uruchom następujące zapytanie:INSERT INTO table (`dateposted`) VALUES (CURRENT_TIMESTAMP)
źródło
„ datetime ” oczekuje, że data zostanie sformatowana w następujący sposób: RRRR-MM-DD GG: MM: SS
więc sformatuj swoją datę w ten sposób podczas wstawiania.
źródło
<?php $date= date("Y-m-d"); $time=date("H:m"); $datetime=$date."T".$time; mysql_query(INSERT INTO table (`dateposted`) VALUES ($datetime)); ?> <form action="form.php" method="get"> <input type="datetime-local" name="date" value="<?php echo $datetime; ?>"> <input type="submit" name="submit" value="submit">
źródło
Jeśli przekazujesz datę z PHP, możesz użyć dowolnego formatu za pomocą
STR_TO_DATE()
funkcji mysql. Pozwól consederowi wstawić datę przez formularz html$Tdate = "'".$_POST["Tdate"]."'" ; // 10/04/2016 $Tdate = "STR_TO_DATE(".$Tdate.", '%d/%m/%Y')" ; mysql_query("INSERT INTO `table` (`dateposted`) VALUES ('$Tdate')");
dateposted
Powinny być mysqldate
typu. lub mysql doda 00:00:00w niektórych przypadkach Lepiej wstaw datę i czas razem do DB, abyś mógł wykonać obliczenia z godzinami i sekundami. ().
$Tdate=date('Y/m/d H:i:s') ; // this to get current date as text . $Tdate = "STR_TO_DATE(".$Tdate.", '%d/%m/%Y %H:%i:%s')" ;
źródło
Najlepszym sposobem, aby uczynić to łatwiejszym i wydajnym, jest:
CREATE TABLE table_name ( field1, .. .. time_updated timestamp default current_timestamp )
Teraz, kiedy wstawisz wiersz do tabeli, możesz pominąć to pole (
time_updated
), ponieważ zostanie ono wypełnione bieżącym czasem jako wartością domyślnąźródło
Po prostu użyj ze swoją strefą czasową:
date_default_timezone_set('Asia/Kolkata'); $date=date("Y/m/d h:i:sa");
źródło
$ data = data ('Ymd H: i: s'); z typem: „datetime” działało bardzo dobrze, ponieważ chciałem wydrukować całą datę i znacznik czasu.
$ data = data ('Ymd H: i: s'); $ stmtc-> bindParam (2, $ data);
źródło
Zależy to od typu danych ustawionego w tabeli db.
DATETIME (typ danych)
MYSQL
PHPINSERT INTO t1 (dateposted) VALUES ( NOW() ) // This will insert date and time into the col. Do not use quote around the val
$dt = date('Y-m-d h:i:s'); INSERT INTO t1 (dateposted) VALUES ( '$dt' ) // This will insert date into the col using php var. Wrap with quote.
DATE (typ danych)
MYSQL
PHPINSERT INTO t1 (dateposted) VALUES ( NOW() ) // Yes, you use the same NOW() without the quotes. // Because your datatype is set to DATE it will insert only the date
$dt = date('Y-m-d'); INSERT INTO t1 (dateposted) VALUES ( '$dt' ) // This will insert date into the col using php var.
CZAS (typ danych)
MYSQL
PHPINSERT INTO t1 (dateposted) VALUES ( NOW() ) // Yes, you use the same NOW() as well. // Because your datatype is set to TIME it will insert only the time
$dt = date('h:i:s'); INSERT INTO t1 (dateposted) VALUES ( '$dt' ) // This will insert time.
źródło
Uważam, że musisz trochę zmienić swój kod, tak jak poniżej, wraz z typem pliku bazy danych.
mysql_query("INSERT INTO table (`dateposted`) VALUES ($datetime)");
Mam nadzieję, że będzie działać idealnie.
źródło
Użyj tego
$date = date('m/d/Y h:i:s', time());
a następnie w MYSQL
type=varchar
wtedy data i godzina zostaną pomyślnie wstawione
źródło
Spróbuj tego
$('#datepicker2').datepicker('setDate', new Date('<?=$value->fecha_final?>'));
źródło