datum/tijd lukt niet goed

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Herbert Foppen

Herbert Foppen

28/11/2008 23:53:00
Quote Anchor link
Mensen,

ik heb een date-picker gevonden en gebruikt om een datum/tijd te kunnen invoeren:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
                <p><label class="formulier" for="tekstfield">Datum/tijd:</label><br/>
                <table cellspacing="0" cellpadding="0" style="border-collapse: collapse"><tr>
                 <td><input type="text" name="datum" id="f_date_c" readonly="1" size="20"/></td>
                 <td><img src="images/cal.gif" id="f_trigger_c" style="cursor: pointer; border: 1px solid #fff;" title="Datumkiezer"
                      onmouseover="this.style.background='#fff';" onmouseout="this.style.background=''" /></td>
                </table>
                
<script type="text/javascript">
Calendar.setup({
   inputField     :    "f_date_c",     // id of the input field
   ifFormat       :    "%d-%m-%Y %H:%M:%S",      // format of the input field
   button         :    "f_trigger_c",  // trigger for the calendar (button ID)
   showsTime      :    true,
   align          :    "Tl",           // alignment (defaults to "Bl")
   singleClick    :    true
});
</script>


Werkt op zich goed en wat er in dat tekstveld komt te staan is:
28-11-2008 23:51:28

Heb in mijn db een veld 'datumtijd' van het type datetime. Ik krijg het alleen niet goed in mijn db. Hij gooit alles om.
Wat heb ik nu staan:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
$datum = $_POST['datum'];
$datumtijd = Date::convert($datum, 'm-d-Y H:i:s', 'Y-m-d H:i:s');

$sql = "INSERT INTO meldingen SET titel='" . $_POST['titel'] .
  "', omschrijving='" . $_POST['bericht'] . "', korps='" . $_POST['korps'] .
  "', datum='" . $datumnieuw . "', tijd='" . $tijdnieuw .
  "', datumtijd='" .$datumtijd .
  "', plaats='" . $_POST['plaats'] . "', soort='" . $_POST['soort'] .
  "', door='" . $_SESSION['naam'] . "'";


Die datum & tijd moeten er nog uit (had ik eerst gesplitst), maar dat mag niet uitmaken toch??

Wie o wie ziet/weet wat ik fout doe. Of is er een andere manier?
Zag ook iets met substr???
 
PHP hulp

PHP hulp

10/05/2024 15:12:24
 
Thijs Damen

Thijs Damen

29/11/2008 00:12:00
Quote Anchor link
hij gooit alles om. wat gooit die om?

daarnaast.

een datum tijd veld is zo opgemaakt: YYYY-MM-DD HH:MM:SS

dus niet DD-MM-YY HH:MM:SS zoals jij het hebt.

ik weet verder niet hoe msql er mee omgaat als je de date zo invoert. of hij dit automatisch omzet naar de juiste format.

zoniet kun je hem goed formateren met de volgende functie

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
function SQLdate($oDate) {
  $time = strtotime($oDate);
  return date(Y-m-d H:i:s, $time);
}


mocht sql er wel goed mee omgaan. maar wil jij als je de date selecteert deze in de DD-MM-YYYY format hebben. gebruik je dezelfde functie. verander je alleen de format settings.

voor preciese details over hoe de date omgaat met Y-m-d e.d. verwijs ik je naar de php.net manual.
Gewijzigd op 01/01/1970 01:00:00 door Thijs Damen
 
Herbert Foppen

Herbert Foppen

29/11/2008 00:18:00
Quote Anchor link
In tekstveld: 28-11-2008 23:51:28
In db: 2010-04-11 21:45:41

'k heb het idee dat het omzetten mbv die Date::convert niet helemaal lekker gaat. Zal jou optie eens proberen Thijs!

$datumtijd = date("Y-m-d H:i:s", $datum);
dus eigenlijk...


Hoe moeilijk kan het zijn om 28-11-2008 23:51:28 om te zetten naar 2008-11-28 21:45:41 :S
Gewijzigd op 01/01/1970 01:00:00 door Herbert Foppen
 
Robert Deiman

Robert Deiman

29/11/2008 09:17:00
Quote Anchor link
Dat is heel moeilijk, want de tijd klopt ook voor geen meter, het hele omzetten gaat dus niet goed. ;) Maar het kan heel eenvoudig, de oplossing van Thijs zou prima moeten werken.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.