Avatar billede Rakkey Nybegynder
09. januar 2012 - 20:52 Der er 7 kommentarer og
1 løsning

Timestamp (Mktime)

Hej, ville hørre om der var nogen der kunne give mig et eksempel på følgende:

Der skal være 5 input felter, hvor brugeren kan indtaste:

Dag - Måned - Time - Min - År

Dette skal derefter blive lavet om til et timestamp.

Det vil sige, at de først indtaster hvad dag det skal ske, derefter hvad måned, år, og hvornår.
09. januar 2012 - 21:53 #1
Et spørgsmål: Kan jeg gå ud fra, at måneden b,iver indtastet med tal, altså 1, 2, 3, .. ikke Jan, Feb, Mar eller lignende, og bliver årstallene indtastet med fire cifre, altså 2011 og ikke 11?
Avatar billede Rakkey Nybegynder
09. januar 2012 - 21:55 #2
Det kan du godt ja.
09. januar 2012 - 22:20 #3
I morgen tidligt (det er ved at være sengetid i Belgien) hvis der ikke er en anden der er kommet med en løsning inden da.
Avatar billede olebole Juniormester
09. januar 2012 - 23:08 #4
<ole>

Noget i stil med:

$stamp = mktime($_POST['hour'], $_POST['min'], 0, $_POST['month'], $_POST['day'], $_POST['year']);
echo date('d.m.Y H:i:s', $stamp);


/mvh
</bole>
Avatar billede olebole Juniormester
09. januar 2012 - 23:12 #5
Hvis jeg var dig, ville jeg nok lave nogle selects, så der er rimelig sikkerhed for datoformatet. Det kunne (helt skrabet) se sådan ud:


<?php
if (!empty($_POST)) {
    if (isset($_POST['contxt']) && $_POST['contxt']=='doDaShit') {
        $stamp = mktime($_POST['hour'], $_POST['min'], 0, $_POST['month'], $_POST['day'], $_POST['year']);
        echo date('d.m.Y H:i:s', $stamp);
    }
}
class TimeInput {
    private $thisYear;
   
    public function __construct() {
        $this->thisYear = date("Y", time());
    }
    public function write_year() {
        $a = array();
        for ($i=$this->thisYear-100; $i<$this->thisYear; $i++) {
            $a[] = '<option value="'.$i.'">'.$i.'</option>';
        }
        return '<select name="year"><option value="-1">åååå</option>'.implode('', $a).'</select>';
    }
    public function write_month() {
        $a = array();
        for ($i=1; $i<13; $i++) {
            $j = $i>9 ? $i : '0'.$i;
            $a[] = '<option value="'.$i.'">'.$j.'</option>';
        }
        return '<select name="month"><option value="-1">mm</option>'.implode('', $a).'</select>';
    }
    public function write_day() {
        $a = array();
        for ($i=1; $i<32; $i++) {
            $a[] = '<option value="'.$i.'">'.$i.'</option>';
        }
        return '<select name="day"><option value="-1">dd</option>'.implode('', $a).'</select>';
    }
    public function write_hour() {
        $a = array();
        for ($i=0; $i<24; $i++) {
            $j = $i>9 ? $i : '0'.$i;
            $a[] = '<option value="'.$i.'">'.$j.'</option>';
        }
        return '<select name="hour"><option value="-1">tt</option>'.implode('', $a).'</select>';
    }
    public function write_min() {
        $a = array();
        for ($i=0; $i<60; $i++) {
            $j = $i>9 ? $i : '0'.$i;
            $a[] = '<option value="'.$i.'">'.$j.'</option>';
        }
        return '<select name="min"><option value="-1">mm</option>'.implode('', $a).'</select>';
    }
}
$timeInput = new TimeInput();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
</head>
<body>

<form action="" method="post">
    <p><input name="contxt" value="doDaShit" type="hidden">
    Tid: <?php echo $timeInput->write_day(), ' ', $timeInput->write_month(), ' ', $timeInput->write_year(), ' ', $timeInput->write_hour(), ' ', $timeInput->write_min() ?></p>
    <p><button type="submit">Send</button></p>
</form>

</body>
</html>


Så kan du altid sætte nogle værdier som 'selected' - alt efter i hvilket område, man forventer, brugerne vil vælge f.eks. et årstal.
Avatar billede Rakkey Nybegynder
11. januar 2012 - 17:59 #6
Smæk et svar :P og mange tak.
Avatar billede olebole Juniormester
11. januar 2012 - 18:02 #7
Ellers tak, jeg samler ikke point. Læg selv et svar og accepter det, så tråden lukkes  =)
Avatar billede Rakkey Nybegynder
11. januar 2012 - 18:06 #8
Okey.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester