datumconversiefunctie.php
Gesponsorde koppelingen
PHP script bestanden
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<?php
// beveilig input van een formulier
// $werkdatum = strip_tags($_POST['werkdatum']);
// test met verschillende datums
echo "test en converteer : ";
echo $werkdatum = "01-02.2016";
echo "<br> naar : ";
if ( DatumConverteren($werkdatum,'eu') ){
// dit is een geldige dag/maand/jaar (eu) datum
echo DatumConverteren($werkdatum,'eu','d-m-Y');
} else {
echo "valse datum";
}
function DatumConverteren($datum,$ori='eu',$patroon='Y-m-d'){
// converteert en valideert datums
// input datum kan -/. scheidings tekens bevatten
// input datum kan in m-d-y (us) Y-m-d (pc) d-m-y (eu)default formaat
// output datum heeft - scheidings teken
// output kan in patronen volgens date_format php functie
switch ($ori){
case "us":
// maand dag jaar bron
if (preg_match('/^(\d{1,2})[-\/.](\d{1,2})[-\/.](\d{2,4})$/', $datum, $matches)) {
$year = $matches[3];
$month = $matches[2];
$day = $matches[1];
if (checkdate($month,$day,$year)){
return date_format(date_create($year.'-'.$month.'-'.$day),$patroon);
} else {
return false;
}
}
break;
case "pc":
// jaar maand dag
if (preg_match('/^(\d{2,4})[-\/.](\d{1,2})[-\/.](\d{1,2})$/', $datum, $matches)) {
$year = $matches[1];
$month = $matches[2];
$day = $matches[3];
if (checkdate($month,$day,$year)){
return date_format(date_create($year.'-'.$month.'-'.$day),$patroon);
} else {
return false;
}
}
break;
default:
// dag maand jaar
if (preg_match('/^(\d{1,2})[-\/.](\d{1,2})[-\/.](\d{2,4})$/', $datum, $matches)) {
$year = $matches[3];
$month = $matches[2];
$day = $matches[1];
if (checkdate($month,$day,$year)){
return date_format(date_create($year.'-'.$month.'-'.$day),$patroon);
} else {
return false;
}
}
}
}
?>
// beveilig input van een formulier
// $werkdatum = strip_tags($_POST['werkdatum']);
// test met verschillende datums
echo "test en converteer : ";
echo $werkdatum = "01-02.2016";
echo "<br> naar : ";
if ( DatumConverteren($werkdatum,'eu') ){
// dit is een geldige dag/maand/jaar (eu) datum
echo DatumConverteren($werkdatum,'eu','d-m-Y');
} else {
echo "valse datum";
}
function DatumConverteren($datum,$ori='eu',$patroon='Y-m-d'){
// converteert en valideert datums
// input datum kan -/. scheidings tekens bevatten
// input datum kan in m-d-y (us) Y-m-d (pc) d-m-y (eu)default formaat
// output datum heeft - scheidings teken
// output kan in patronen volgens date_format php functie
switch ($ori){
case "us":
// maand dag jaar bron
if (preg_match('/^(\d{1,2})[-\/.](\d{1,2})[-\/.](\d{2,4})$/', $datum, $matches)) {
$year = $matches[3];
$month = $matches[2];
$day = $matches[1];
if (checkdate($month,$day,$year)){
return date_format(date_create($year.'-'.$month.'-'.$day),$patroon);
} else {
return false;
}
}
break;
case "pc":
// jaar maand dag
if (preg_match('/^(\d{2,4})[-\/.](\d{1,2})[-\/.](\d{1,2})$/', $datum, $matches)) {
$year = $matches[1];
$month = $matches[2];
$day = $matches[3];
if (checkdate($month,$day,$year)){
return date_format(date_create($year.'-'.$month.'-'.$day),$patroon);
} else {
return false;
}
}
break;
default:
// dag maand jaar
if (preg_match('/^(\d{1,2})[-\/.](\d{1,2})[-\/.](\d{2,4})$/', $datum, $matches)) {
$year = $matches[3];
$month = $matches[2];
$day = $matches[1];
if (checkdate($month,$day,$year)){
return date_format(date_create($year.'-'.$month.'-'.$day),$patroon);
} else {
return false;
}
}
}
}
?>