Bydysawd yr uwchnerdiaid
Cymedrolwr: dafydd
gan Duw » Sul 11 Ion 2009 9:20 pm
Wedi bod yn ffidlan gyda hen wefan ac wedi gorfod creu sgript ar gyfer dangos y dyddiad yn y Gymraeg (unrhyw fformat). Dyma'r sgript mewn pHp. Gallwch ei newid/ defnyddio fel y dymunwch.
- Cod: Dewis popeth
function dyddiad_cy($dyddiad='',$fformat_mewn='d',$fformat_allan,$S=true){
//Defnydd o dudalen php arall - enghraifft:
// $dyddiad = dyddiad_cy('13/04/2008','d','l, F jS, Y',true);
// $dyddiad = dyddiad_cy('','d','l, F jS, Y',true); - ar gyfer heddiw
//Bydd y data yna'n cael ei storio yn y newidyn $dyddiad
//Yna gallwch wneud hyn: echo $dyddiad;
//$fformat_mewn = d (dyddiad normal - dd/mm/yyyy hh:mm:ss) - diofyn
// u (unix - yyyy-mm-dd hh:mm:ss)
// a (americanaidd - mm/dd/yyyy hh:mm:ss)
//$fformat_allan = 'string', e.e. 'l, F jS, Y' = "Dydd Llun, Ionawr 12fed, 2009"
// y diofyn yw dyddiad fformat byr Prydeinig, e.e. 18/01/2009
// os ydych am gynnwys testun statig: date("l #y#r jS");
// bydd yn rhoi, 'Dydd Gwener yr 21ain'
//Am y 'strings' gweler: "http://uk3.php.net/manual/en/function.date.php"
// $S yw rhoi estyniad 'ain', 'af', 'fed' ar ffurf uwch-sgript
// y diofyn yw TRUE
//Arae tylfyriadau pHp ar gyfer y ffwythiant date().
$talfyr = array('d','j','l','S','D','N','w','z','W','m','n','t','L','o','Y','y','B','g','G','h','H','i','s','u','e','I','O','P','T','Z','F','M','a','r','A','c','U');
//========ECHDYNNU DARNAU O'R MEWNBWN============
if($dyddiad != ''){
//Fformat normal
if($fformat_mewn == 'd'){
$d = substr($dyddiad,0,2);
$m = substr($dyddiad,3,2);
$y = substr($dyddiad,6,4);
//Fformat unix
}else if($fformat_mewn == 'u'){
$d = substr($dyddiad,8,2);
$m = substr($dyddiad,5,2);
$y = substr($dyddiad,0,4);
//Fformat UDA
}else if($fformat_mewn == 'a'){
$d = substr($dyddiad,3,2);
$m = substr($dyddiad,0,2);
$y = substr($dyddiad,6,4);
}
//Echdynnu amser
$a = substr($dyddiad,11,2);
$mn = substr($dyddiad,14,2);
$e = substr($dyddiad,17,2);
if($a =="")$a = "00";
if($mn =="")$mn = "00";
if($e =="")$e = "00";
$i = 0;
while ($i < count($talfyr)) {
$allbwn[$talfyr[$i]] = date("{$talfyr[$i]}",mktime($a,$mn,$e,$m,$d,$y));
$i = $i + 1;
}
}else{
while ($i < count($talfyr)) {
$allbwn[$talfyr[$i]] = date("{$talfyr[$i]}");
$i = $i + 1;
}
}
//Gosod data o ffwythiant date() i arae o'r enw ALLBWN
//Cyfres o araeau Cymraeg: (i) estyniadau dyddiad, (ii) dydd (iii) mis
$diwedd = array('af','ail','ydd','ydd','ed','ed','fed','fed','fed','fed','eg','fed','eg','eg','fed','eg','eg','fed','eg','fed','ain','ain','ain','ain','ain','ain','ain','ain','ain','ain','ain');
$enw_dydd = array('Sul', 'Llun', 'Mawrth', 'Mercher', 'Iau', 'Gwener', 'Sadwrn');
$enw_mis = array('Ionawr', 'Chwefror', 'Mawrth', 'Ebrill', 'Mai', 'Mehefin', 'Gorffennaf', 'Awst', 'Medi', 'Hydref', 'Tachwedd', 'Rhagfyr');
//Ail-gyfrifo data sydd angen ei gyfieithu
$allbwn['l'] = "Dydd " . $enw_dydd[$allbwn['w']];
$allbwn['D'] = substr($enw_dydd[$allbwn['w']],0,3);
$allbwn['S'] = $diwedd[$allbwn['j'] - 1];
$allbwn['F'] = $enw_mis[$allbwn['n'] - 1];
$allbwn['M'] = substr($enw_mis[$allbwn['n'] - 1],0,3);
$allbwn['a'] = ($allbwn['a'] == 'am') ? "yb" : "yh";
$allbwn['A'] = ($allbwn['A'] == 'AM') ? "YB" : "YH";
$allbwn['r'] = $allbwn['D'] . ", " . $allbwn['d'] . " " . $allbwn['M'] . " " . $allbwn['Y'] . " " . $allbwn['H'] .":" . $allbwn['i'] .":" . $allbwn['s'] . " " . $allbwn['O'];
//Gosod superscript (uwchsgript) i'r estyniad, os ydyw wedi'i setio (diofyn = true)
if($S==true)$allbwn['S'] = "<sup>{$allbwn['S']}</sup>";
//Prosesu'r fformat_allan. Mae hwn yn gwirio bod llythyren yn ei dro.
//Os oes '#' o'i flaen, nid fydd yn ei gynnwys a bydd yn trin y llythyren nesaf yn lythrennol. Yn y ffwythiant date() gwreiddiol, mae '\' yn cael ei ddefnyddio. Nid yw hwn yn gweithio gyda'r ffwythiant hwn - defnyddiwch '#' yn lle 'ny.
$mas = "";
$i = 0;
while ($i < strlen($fformat_allan)){
$c = substr($fformat_allan,$i,1);
if($c == '#'){
}else if(($i > 0 && substr($fformat_allan,$i-1,1) == '#') || $c == " " || $c == ',' || $c == '-' || $c == '/' || $c == ';' || $c == '(' || $c == ')' || $c == '<' || $c == '>'){
$mas = $mas . $c; //llythyren llythrennol
}else{
$mas = $mas . $allbwn[$c]; //data o'r arae
}
$i = $i + 1;
}
return $mas;
}
-
Duw
- Gweinyddwr
-
- Negeseuon: 1263
- Ymunwyd: Mer 16 Ion 2008 6:39 pm
- Lleoliad: fanyn a wynco
Dychwelyd i Dylunio, Technoleg a'r We
Pwy sydd ar-lein
Defnyddwyr sy’n pori’r seiat hon: Dim defnyddwyr cofrestredig a 17 gwestai