00001 <?php
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00040 class ilFormat
00041 {
00042 function ilFormat ()
00043 {
00044 return;
00045 }
00046
00047
00048 function getDateDE ()
00049 {
00050 $date = getdate();
00051 $datum = sprintf("%02d.%02d.%04d", $date["mday"],$date["mon"],$date["year"]);
00052 return $datum;
00053 }
00054
00063 function input2date ($AInputDate)
00064 {
00065
00066 $date=""; $y=""; $m=""; $d="";
00067
00068 if (ereg("([0-9]{1,2}).([0-9]{1,2}).([0-9]{2,4})",$AInputDate,$p))
00069 {
00070
00071 $d = $p[1];
00072 $m = $p[2];
00073 $y = $p[3];
00074
00075 if (($d>0 && $d<32) && ($m>0 && $m<13) && (strlen($y)!=3))
00076 {
00077 if (strlen($d) == 1) $d = "0".$d;
00078 if (strlen($m) == 1) $m = "0".$m;
00079
00080 if (strlen($y) == 2)
00081 {
00082 if ($y>=70) $y = $y + 1900;
00083 if ($y<70) $y = $y + 2000;
00084 }
00085
00086
00087 checkdate($m, $d, $y);
00088
00089
00090
00091
00092 $uhrzeit = substr($AInputDate, -8);
00093
00094
00095 if (ereg("([0-9]{2}):([0-9]{2}):([0-9]{2})",$AInputDate,$p))
00096 {
00097 $h = $p[1];
00098 $min = $p[2];
00099 $s = $p[3];
00100
00101 if (($h>-1 && $h<24) && ($min>-1 && $min<60) && ($s>-1 && $s<60))
00102 {
00103
00104 $date = sprintf("%04d-%02d-%02d %02d:%02d:%02d",$y,$m,$d,$h,$min,$s);
00105 }
00106 }
00107 else
00108 {
00109
00110 $zeit = getdate();
00111 $date = sprintf("%04d-%02d-%02d %02d:%02d:%02d",$y,$m,$d,$zeit["hours"],$zeit["minutes"],$zeit["seconds"]);
00112 }
00113
00114
00115 return $date;
00116 }
00117 }
00118 }
00119
00120
00125 function dateDB2timestamp ($ADatumSQL)
00126 {
00127 $timestamp = substr($ADatumSQL, 0, 4).
00128 substr($ADatumSQL, 5, 2).
00129 substr($ADatumSQL, 8, 2).
00130 substr($ADatumSQL, 11, 2).
00131 substr($ADatumSQL, 14, 2).
00132 substr($ADatumSQL, 17, 2);
00133
00134 return $timestamp;
00135 }
00136
00141 function dateDE2timestamp ($ADatum)
00142 {
00143 $timestamp = substr($ADatum, 6, 4).
00144 substr($ADatum, 3, 2).
00145 substr($ADatum, 0, 2).
00146 substr($ADatum, 11, 2).
00147 substr($ADatum, 14, 2).
00148 substr($ADatum, 17, 2);
00149
00150 return $timestamp;
00151 }
00152
00153
00158 function fdateDB2dateDE ($t)
00159 {
00160 return sprintf("%02d.%02d.%04d",substr($t, 8, 2),substr($t, 5, 2),substr($t, 0, 4));
00161 }
00162
00163
00168 function ftimestamp2dateDE ($t)
00169 {
00170 return sprintf("%02d.%02d.%04d",substr($t, 6, 2),substr($t, 4, 2),substr($t, 0, 4));
00171 }
00172
00173
00178 function ftimestamp2datetimeDE ($t)
00179 {
00180 return sprintf("%02d.%02d.%04d %02d:%02d:%02d",substr($t, 6, 2),substr($t, 4, 2),substr($t, 0, 4),substr($t, 8, 2),substr($t, 10, 2),substr($t, 12, 2));
00181 }
00182
00183
00188 function ftimestamp2dateDB ($t)
00189 {
00190 return sprintf("%04d-%02d-%02d",substr($t, 0, 4),substr($t, 4, 2),substr($t, 6, 2));
00191 }
00192
00199 function ftimestamp2datetimeDB($aTimestamp)
00200 {
00201 $date = "";
00202 if (preg_match("/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/", $aTimestamp, $matches))
00203 {
00204 $date = "$matches[1]-$matches[2]-$matches[3] $matches[4]:$matches[5]:$matches[6]";
00205 }
00206 return $date;
00207 }
00208
00209
00217 function compareDates ($ADate1,$ADate2)
00218 {
00219 if ($ADate1 > $ADate2)
00220 {
00221 return $ADate1;
00222 }
00223
00224 return $ADate2;
00225 }
00226
00227
00232 function checkDecimal ($var)
00233 {
00234 return doubleval(ereg_replace (",",".",$var));
00235 }
00236
00237
00241 function fGeld ()
00242 {
00243 $num_args = func_num_args();
00244
00245 $geld = func_get_arg(0);
00246
00247 if ($num_args == 1)
00248 {
00249 $test = intval($geld);
00250
00251 if (!$test)
00252 return " ";
00253 }
00254
00255 return number_format($geld,2,",",".")." €";
00256 }
00257
00258
00263 function fProzent ()
00264 {
00265 $num_args = func_num_args();
00266
00267 $prozent = func_get_arg(0);
00268
00269 if ($num_args == 1)
00270 {
00271 $test = intval($prozent);
00272
00273 if (!$test)
00274 return " ";
00275 }
00276
00277 return number_format($prozent,2,",",".")."%";
00278 }
00279
00284 function runden ($value)
00285 {
00286 return round($value * 100) / 100;
00287 }
00288
00304 function fmtDateTime($a_str,$a_dateformat,$a_timeformat,$a_mode = "datetime")
00305 {
00306
00307 if ($a_dateformat == "")
00308 {
00309 $a_dateformat = "Y-m-d";
00310 }
00311
00312
00313 if ($a_timeformat == "")
00314 {
00315 $a_timeformat = "H:i:s";
00316 }
00317
00318
00319 $d = substr($a_str,8,2);
00320 $m = substr($a_str,5,2);
00321 $y = substr($a_str,0,4);
00322 $h = substr($a_str,11,2);
00323 $i = substr($a_str,14,2);
00324 $s = substr($a_str,17,4);
00325
00326
00327 if(($y < 1970) or
00328 ($y == 1970 and ($m < 1 or $d < 1)))
00329 {
00330 $y = 1970;
00331 $m = 1;
00332 $d = 2;
00333 $h = $i = $s = 0;
00334 }
00335
00336 if ($a_mode == "time")
00337 {
00338 return date($a_timeformat,mktime($h,$i,$s,1,1,1999));
00339 }
00340
00341 if ($a_mode == "date")
00342 {
00343 return date($a_dateformat,mktime($h,$i,$s,$m,$d,$y));
00344 }
00345
00346 return date($a_dateformat." ".$a_timeformat,mktime($h,$i,$s,$m,$d,$y));
00347 }
00348
00361 function fmtFloat($a_float, $a_decimals = "", $a_th = "")
00362 {
00363
00364 if (!empty($a_th))
00365 {
00366 if ($a_th == "-lang_sep_thousand-")
00367 {
00368 $a_th = ",";
00369 }
00370 }
00371
00372
00373 $dec = $a_decimals;
00374
00375 if ($dec == "-lang_sep_decimal-")
00376 {
00377 $dec = ".";
00378 }
00379
00380 return number_format($a_float, $a_decimals, $dec, $a_th);
00381 }
00382
00383 function unixtimestamp2datetime($a_unix_timestamp = "")
00384 {
00385 if (strlen($a_unix_timestamp) == 0)
00386 {
00387 return strftime("%Y-%m-%d %H:%M:%S");
00388 }
00389 else
00390 {
00391 return strftime("%Y-%m-%d %H:%M:%S", $a_unix_timestamp);
00392 }
00393 }
00394
00395
00396
00397
00398
00399
00400
00401
00402
00403
00404 function formatDate($a_date,$a_mode = "datetime", $a_omit_seconds = false)
00405 {
00406 global $lng;
00407
00408
00409 if ($a_date == "0000-00-00 00:00:00")
00410 {
00411 return $lng->txt("no_date");
00412 }
00413
00414 $dateformat = $lng->txt("lang_dateformat");
00415 if ($a_omit_seconds && ($lng->txt("lang_timeformat_no_sec") != "-lang_timeformat_no_sec-"))
00416 {
00417 $timeformat = $lng->txt("lang_timeformat_no_sec");
00418 }
00419 else
00420 {
00421 $timeformat = $lng->txt("lang_timeformat");
00422 }
00423
00424 if ($dateformat == "-lang_dateformat-")
00425 {
00426 $dateformat = "";
00427 }
00428
00429 if ($timeformat == "-lang_timeformat-")
00430 {
00431 $timeformat = "";
00432 }
00433
00434 return ilFormat::fmtDateTime($a_date,$dateformat,$timeformat,$a_mode);
00435 }
00436
00437 function formatUnixTime($ut,$with_time = false)
00438 {
00439 global $lng;
00440
00441 $format = $lng->txt('lang_dateformat');
00442
00443 if($with_time)
00444 {
00445 $format .= (' '.$lng->txt('lang_timeformat_no_sec'));
00446 }
00447 return date($format,$ut);
00448 }
00449
00450
00451
00452
00453
00454
00455
00456
00457 function dateDiff($a_ts1,$a_ts2)
00458 {
00459 $r = $a_ts2 - $a_ts1;
00460
00461 $dd = floor($r/86400);
00462
00463 if ($dd <= 9)
00464 $dd = "0".$dd;
00465
00466 $r = $r % 86400;
00467
00468 $hh = floor($r/3600);
00469
00470 if ($hh <= 9)
00471 $hh = "0".$hh;
00472
00473 $r = $r % 3600;
00474
00475 $mm = floor($r/60) ;
00476
00477 if ($mm <= 9)
00478 $mm = "0".$mm;
00479
00480 $r = $r % 60;
00481 $ss = $r;
00482
00483 if ($ss <= 9)
00484 $ss = "0".$ss;
00485
00486 return $hh.":".$mm.":".$ss;
00487 }
00488
00495 function datetime2unixTS($a_datetime)
00496 {
00497 $arrDT = explode(" ", $a_datetime);
00498 $arrD = explode("-", $arrDT[0]);
00499 $arrT = explode(":", $arrDT[1]);
00500
00501 return mktime($arrT[0], $arrT[1], $arrT[2], $arrD[1], $arrD[2], $arrD[0]);
00502 }
00503
00511 function _secondsToString($seconds)
00512 {
00513 global $lng;
00514
00515 $seconds = $seconds ? $seconds : 0;
00516
00517 global $lng;
00518
00519 $days = floor($seconds / 86400);
00520 $rest = $seconds % 86400;
00521
00522 $hours = floor($rest / 3600);
00523 $rest = $rest % 3600;
00524
00525 $minutes = floor($rest / 60);
00526
00527 if($days)
00528 {
00529 $message = $days . ' '. $lng->txt('days');
00530 }
00531 if($hours)
00532 {
00533 if($message)
00534 {
00535 $message .= ' ';
00536 }
00537 $message .= ($hours . ' '. $lng->txt('hours'));
00538 }
00539 if($minutes)
00540 {
00541 if($message)
00542 {
00543 $message .= ' ';
00544 }
00545 $message .= ($minutes . ' '. $lng->txt('minutes'));
00546 }
00547 if(!$days and !$hours and !$minutes)
00548 {
00549 return $seconds .' '. $lng->txt('seconds');
00550 }
00551 else
00552 {
00553 return $message;
00554 }
00555 }
00563 function _secondsToShortString($seconds)
00564 {
00565 global $lng;
00566
00567 $seconds = $seconds ? $seconds : 0;
00568
00569 global $lng;
00570
00571 $days = floor($seconds / 86400);
00572 $rest = $seconds % 86400;
00573
00574 $hours = floor($rest / 3600);
00575 $rest = $rest % 3600;
00576
00577 $minutes = floor($rest / 60);
00578 $rest = $rest % 60;
00579
00580 return sprintf("%02d:%02d:%02d:%02d",$days,$hours,$minutes,$rest);
00581
00582 }
00583 }
00584 ?>