Falleg útsetning á dagsetningum
Skrifađ af Maggi Trymbill ţann 13. desember 2006 - 16:44
8 athugasemdir skrifađar - toppur / botn
Fjöldi lestra: 1399
Mig langađi til ţess ađ getađ, međ function, fengiđ fallega útfćrslu á dagsetningu fyrir t.d. blogg, álit, gestabók eđa slíkt. Ég vildi hafa functionina bćđi á íslensku og ensku, vildi láta hana skrifa út "Í dag", "Í gćr", "Í fyrradag" ef ađ svo átti viđ. Einnig vildi ég getađ notađ ţessa function án vandrćđa međ ţví ađ skrifa bara formatiđ á dagsetningunni sem fer inn í functioniđ, bjó til 3 mismunandi leiđir fyrir output (einföld, falleg og falleg međ klukku).
 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 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
<?php

// Falleg útfćrsla á dagsetningu
function datetodate($date,$input,$output,$language) {

    
// Skilgreina input, output og tungumál ef ađ ţađ er ekki skilgreint
    
if(!$date or $date == '') { $return "<font color=#FF0000>Engin dagsetning skilgreind!</font>"; return $return; }
    if(!
$input or $input == '') { $input "YYYYMMDDHHIISS"; }
    if(!
$output or $output == '') { $output "1"; }
    if(!
$language or $language == '') { $language "is"; }

    
// Í hvađa formi er input-iđ?
    
if($input == 'YYYYMMDD') {
        
$d substr("$date",6,2);
        
$manud substr("$date",4,2);
        
$a substr("$date",0,4);
    } elseif(
$input == 'DDMMYYYY') {
        
$d substr("$date",0,2);
        
$manud substr("$date",2,2);
        
$a substr("$date",4,4);
    } elseif(
$input == 'DD.MM.YYYY') {
        
$d substr("$date",0,2);
        
$manud substr("$date",3,2);
        
$a substr("$date",6,4);
    } elseif(
$input == 'HH:II DD-MM-YYYY' or $input == 'HH:II DD.MM.YYYY') {
        
$kl_hour substr("$date",0,2);
        
$kl_min substr("$date",3,2);
        
$d substr("$date",6,2);
        
$manud substr("$date",9,2);
        
$a substr("$date",12,4);
    } elseif(
$input == 'YYYY-MM-DD HH:II:SS' or $input == 'YYYY-MM-DD HH:II' or $input == 'YYYY.MM.DD HH:II:SS' or $input == 'YYYY.MM.DD HH:II') {
        
$d substr("$date",8,2);
        
$manud substr("$date",5,2);
        
$a substr("$date",0,4);
        
$kl_hour substr("$date",11,2);
        
$kl_min substr("$date",14,2);
    } elseif(
$input == 'YYYYMMDDHHIISS') {
        
$d substr("$date",6,2);
        
$manud substr("$date",4,2);
        
$a substr("$date",0,4);
        
$kl_hour substr("$date",8,2);
        
$kl_min substr("$date",10,2);
    } else {
        
$return "<font color=#FF0000>Form dagsetningar óţekkt!</font>";
        return 
$return;
    }
    
    
// Skilgreina nöfn mánađa.
    
if($manud == '01') { if($language=='is') { $manudur "Janúar"; } else { $manudur "January"; } }
    elseif(
$manud == '02') { if($language=='is') { $manudur "Febrúar"; } else { $manudur "February"; } }
    elseif(
$manud == '03') { if($language=='is') { $manudur "Mars"; } else { $manudur "March"; } }
    elseif(
$manud == '04') { if($language=='is') { $manudur "Apríl"; } else { $manudur "April"; } }
    elseif(
$manud == '05') { if($language=='is') { $manudur "Maí"; } else { $manudur "May"; } }
    elseif(
$manud == '06') { if($language=='is') { $manudur "Júní"; } else { $manudur "June"; } }
    elseif(
$manud == '07') { if($language=='is') { $manudur "Júlí"; } else { $manudur "July"; } }
    elseif(
$manud == '08') { if($language=='is') { $manudur "Ágúst"; } else { $manudur "August"; } }
    elseif(
$manud == '09') { if($language=='is') { $manudur "September"; } else { $manudur "September"; } }
    elseif(
$manud == '10') { if($language=='is') { $manudur "Október"; } else { $manudur "October"; } }
    elseif(
$manud == '11') { if($language=='is') { $manudur "Nóvember"; } else { $manudur "November"; } }
    elseif(
$manud == '12') { if($language=='is') { $manudur "Desember"; } else { $manudur "December"; } }
    
    
$input_date $d."/".$manud."/".$a;
    
$today date('d/m/Y');
    
$yesterday date('d/m/Y'mktime(000date("m") , date("d") - 1date("Y")));
    
$yesterday2 date('d/m/Y'mktime(000date("m") , date("d") - 2date("Y")));
    
    
// Skilgreina hvernig outputiđ á ađ vera
    
if($output == '1') {
        
$date_dagsetning "$d$manudur $a klukkan: $kl_hour:$kl_min";
    }
    elseif(
$output == '2') {
        if(
$input_date == $today) {
            
$date_dagsetning "Skrifađ í dag";
        } elseif(
$input_date == $yesterday) {
            
$date_dagsetning "Skrifađ í gćr";
        } elseif(
$input_date == $yesterday2) {
            
$date_dagsetning "Skrifađ í fyrradag";
        } else {
            
$date_dagsetning "Skrifađ $d$manudur $a";
        }
    } elseif(
$output =='3') {
        if(
$input_date == $today) {
            
$date_dagsetning "Skrifađ í dag kl. $kl_hour:$kl_min";
        } elseif(
$input_date == $yesterday) {
            
$date_dagsetning "Skrifađ í gćr kl. $kl_hour:$kl_min";
        } elseif(
$input_date == $yesterday2) {
            
$date_dagsetning "Skrifađ í fyrradag kl. $kl_hour:$kl_min";
        } else {
            
$date_dagsetning "Skrifađ $d$manudur $a kl. $kl_hour:$kl_min";
        }
    }
    
    return 
$date_dagsetning;

}

?>



24. desember 2006 - 18:04
#1 - Gaui
http://www.gaui.is
Maggi, ég stytti ţađ ađeins. Ađ vísu er ekki hćgt ađ velja hvernig formatti dagsetningin er á, en hćgt er ađ nota enska formattiđ (YYYY-MM-DD HH:ii).

<?php
function datetodate( $input, $output = 1 )
{
   
$dag = array( 'sunnudagur', 'mánudagur', 'ţriđjudagur', 'miđvikudagur', 'fimmtudagur', 'föstudagur', 'laugardagur' );
   
$man = array( '', 'janúar', 'febrúar', 'mars', 'apríl', 'maí', 'júní', 'júlí', 'ágúst', 'september', 'október', 'nóvember', 'desember' );
   
   
$date = strtotime( $input );
   
   
$dagur = $dag[date( 'w', $date )];
   
$manudur = $man[date( 'n', $date )];
   
    if(
date( 'Ymd', $date ) == date( 'Ymd' ) )
       
$nytt = ' í dag';
    elseif(
date( 'Ymd', $date ) == date( 'Ymd', strtotime( '-1 day' ) ) )
       
$nytt = ' í gćr';
    elseif(
date( 'Ymd', $date ) == date( 'Ymd', strtotime( '-2 day' ) ) )
       
$nytt = ' í fyrradag';
    else
       
$output = 1;

    if(
$output == 1 )
    {
       
$_date = date( 'd', $date ) . '. ' . $manudur . ' ' . date( 'Y', $date ) . ' kl: ' . date( 'H:i', $date );
    }
    elseif(
$output == 2 )
    {
       
$_date = $nytt;
    }
    elseif(
$output == 3 )
    {
       
$_date = $nytt . ' kl ' . date( 'H:i', $date );
    }
   
    return
'Skrifađ ' . $_date;
}

# Dćmi
echo datetodate( '2006-12-24 17:54', 1 );
# Útkoma: Skrifađ 24. desember 2006 kl: 18:04
?>

26. desember 2006 - 00:30
#2 - Maggi Trymbill
http://maggi.trymbill.is
Sammála ađ ţađ ţarf ađ stytta ţetta ađeins Góđ útfćrsla hjá ţér!

28. desember 2006 - 02:28
#3 - Gaui
http://www.gaui.is
Ţú sérđ líka hvenćr ég skrifađi ţetta. Spáđu í gaur sem hefur EKKERT ađ gera á ađfangadag.

26. janúar 2007 - 10:32
#4 - Maggi Trymbill
http://maggi.trymbill.is
Haha

Hć, ég ţurfti ađ breita mysql dagsettningu í fallega útsetningu. Fattađi ekki ađ kíkja hér, en ćtlađi ađ deila function-inu međ ykkur sem ég gerđi. Hún er eiginlega ćtluđ bloggi en ţó nothćf allstađar.

<?php

/**
* @author BirkirR
* @copyright 2007
* @scriptname Dagsettning v1.0
*/

function dagsettning($dags,$datekodi=1,$endi=1){
   
    switch(
$endi){
        case
1: $endi = 'dagur'; break;        // Dćmi: Mánudagur
       
case 2: $endi = 'dag'; break;        // Dćmi: Mánudag
       
case 3: $endi = 'degi'; break;        // Dćmi: Mánudegi
       
case 4: $endi = 'dags'; break;        // Dćmi: Mánudags
       
       
case 5: $endi = 'dagurinn'; break;    // Dćmi: Mánudagurinn
       
case 6: $endi = 'daginn'; break;    // Dćmi: Mánudaginn
       
case 7: $endi = 'deginum'; break;    // Dćmi: Mánudeginum
       
case 8: $endi = 'dagsins'; break;    // Dćmi: Mánudagsins
       
       
default: $endi = $endi;
    }
   
    switch(
$datekodi){
        case
1: $datekodi = 'l j. F Y k\l\ukk\a\n H:i'; break;        // Dćmi: Mánu($end) 1. Janúar 2008 klukkan 11:30
       
case 2: $datekodi = 'd/m/y H:i:s'; break;                    // Dćmi: 01/01/08 11:30:00
       
       
default: $datekodi = $datekodi;
    }
   
   
$dagsettning = date($datekodi,strtotime($dags));        // Fćrum MySQL dagsettningu í fallegt enskt form
   
   
$man = array(
   
'January' => 'Janúar',
   
'February' => 'Febrúar',
   
'March' => 'Mars',
   
'December' => 'Desember'
   
);
   
    foreach(
$man as $en => $is){
       
$dagsettning = str_replace($en,$is,$dagsettning);    // Fćrum dagsettningu úr enskum mánuđum í íslenska
   
}
   
   
$dag = array(
   
'Mon' => 'Mánu',
   
'Tues' => 'Ţriđju',
   
'Wednes' => 'Miđviku',
   
'Thirs' => 'Fimmtu',
   
'Fri' => 'Föstu',
   
'Satur' => 'Laugar',
   
'Sun' => 'Sunnu'
   
);
   
    foreach(
$dag as $en => $is){
       
$dagsettning = str_replace($en.'day',$is.$endi,$dagsettning); // Breiti dagsettningu úr enskum dag í íslenskann
   
}
   
    return
$dagsettning;
   
}

echo
dagsettning('2007-12-05 14:16:12',1,5);

?>

8. desember 2007 - 12:51
#6 - Birkir Rafn Guđjónsson
http://benzincrew.com
Smá update á kóđanum, version 1.2

Changelog:
# Hćgt ađ velja CleanDate sem er 'Skrifađ í gćr'... og svo ekki.
# Gleymdi ađ klára mánuđina
# Nú kemur 'skrifađ síđasta laugardag'...

<?php

/**
* @author BirkirR
* @copyright 2007
* @scriptname Dagsettning v1.1
*/

function dagsettning($dags,$datekodi=1,$endi=1,$nice=FALSE){
   
    switch(
$endi){
        case
1: $endi = 'dagur'; break;        // Dćmi: Mánudagur
       
case 2: $endi = 'dag'; break;        // Dćmi: Mánudag
       
case 3: $endi = 'degi'; break;        // Dćmi: Mánudegi
       
case 4: $endi = 'dags'; break;        // Dćmi: Mánudags
       
       
case 5: $endi = 'dagurinn'; break;    // Dćmi: Mánudagurinn
       
case 6: $endi = 'daginn'; break;    // Dćmi: Mánudaginn
       
case 7: $endi = 'deginum'; break;    // Dćmi: Mánudeginum
       
case 8: $endi = 'dagsins'; break;    // Dćmi: Mánudagsins
       
       
default: $endi = $endi;
    }
   
    switch(
$datekodi){
        case
1: $datekodi = 'l j. F Y k\l\ukk\a\n H:i'; break;        // Dćmi: Mánu($end) 1. Janúar 2008 klukkan 11:30
       
case 2: $datekodi = 'd/m/y H:i:s'; break;                    // Dćmi: 01/01/08 11:30:00
       
       
default: $datekodi = $datekodi;
    }
   
   
   
$nicedag = array(
   
'now' => 'í dag',
   
'-1 day' => 'í gćr',
   
'-2 day' => 'í fyrradag',
   
'last Monday' => 'síđasta Mánudag',
   
'last Tuesday' => 'síđasta Ţriđjudag',
   
'last Wednesday' => 'síđasta Miđvikudag',
   
'last Thursday' => 'síđasta Fimmtudag',
   
'last Friday' => 'síđasta Föstudag',
   
'last Saturday' => 'síđasta Laugardag',
   
'last Sunday' => 'síđasta Sunnudag'
   
);
   
   
   
    if(
$nice != FALSE){                                            // Ef NiceDate
       
foreach($nicedag as $str => $output){
            if(
date('Y-m-d',strtotime($str))==date('Y-m-d',strtotime($dags))){
               
$dagsettning = $nice.' '.$output;
            }
        }
        if(
strlen($dagsettning) < 10){
               
$dagsettning = $nice.' '.date($datekodi,strtotime($dags));
        }
    }else{
       
$dagsettning = date($datekodi,strtotime($dags));        // Fćrum MySQL dagsettningu í fallegt enskt form
   
}
   
   
   
   
$man = array(
   
'January' => 'Janúar',
   
'February' => 'Febrúar',
   
'March' => 'Mars',
   
'April' => 'Apríl',
   
'May' => 'Maí',
   
'June' => 'Júní',
   
'July' => 'Júlí',
   
'August' => 'Ágúst',
   
'October' => 'Október',
   
'December' => 'Desember'
   
);
   
    foreach(
$man as $en => $is){
       
$dagsettning = str_replace($en,$is,$dagsettning);    // Fćrum dagsettningu úr enskum mánuđum í íslenska
   
}
   
   
$dag = array(
   
'Mon' => 'Mánu',
   
'Tues' => 'Ţriđju',
   
'Wednes' => 'Miđviku',
   
'Thurs' => 'Fimmtu',
   
'Fri' => 'Föstu',
   
'Satur' => 'Laugar',
   
'Sun' => 'Sunnu'
   
);
   
    foreach(
$dag as $en => $is){
       
$dagsettning = str_replace($en.'day',$is.$endi,$dagsettning); // Breiti dagsettningu úr enskum dag í íslenskann
   
}
   
   
   
    return
$dagsettning;
   
}

echo
dagsettning(date('Y-m-d H:i:s'),2,1).'<br><br>';
echo
dagsettning('2007-04-03 00:00:00',1,5).'<br>';
echo
dagsettning('2007-12-08 00:00:00',1,6,'Skrifađ').'<br>';
echo
dagsettning('2007-04-03 00:00:00',1,5,'Búiđ til');

/**
08/12/07 12:48:54

Ţriđjudagurinn 3. Apríl 2007 klukkan 00:00
Skrifađ í dag
Búiđ til Ţriđjudagurinn 3. Apríl 2007 klukkan 00:00
**/

?>


Nú er ég hćttur :$

8. desember 2007 - 19:43
#7 - Gaui
http://www.gaui.is
Flottur, Birkir.

13. desember 2007 - 21:37
#8 - Tómas
http://ms.tomasarnason.com
Er svona lítiđ ađ gera í Eyjum ;P Hehe...




Nafn:


Netfang:


Veffang:


Hvađ er tólf plús einn?



Skilabođ: