24 include_once(
'./Services/Calendar/classes/class.ilDate.php');
25 include_once(
'./Services/Calendar/classes/class.ilCalendarSettings.php');
62 self::$use_relative_dates = $a_status;
73 return self::$use_relative_dates;
114 self::setLanguage(
$lng);
115 self::setUseRelativeDates(
true);
128 $include_seconds =
false)
133 $lng->loadLanguageModule(
'dateplaner');
137 return self::getLanguage()->txt(
'no_date');
140 $has_time = !is_a($date,
'ilDate');
152 if (self::isToday($date) and self::useRelativeDates()) {
153 $date_str = self::getLanguage()->txt(
'today');
154 } elseif (self::isTomorrow($date) and self::useRelativeDates()) {
155 $date_str = self::getLanguage()->txt(
'tomorrow');
156 } elseif (self::isYesterday($date) and self::useRelativeDates()) {
157 $date_str = self::getLanguage()->txt(
'yesterday');
159 include_once(
'./Services/Calendar/classes/class.ilCalendarUtil.php');
162 $date_str =
$lng->txt(self::$weekdays[$date_info[
'wday']]) .
", ";
164 $date_str .= $date_info[
'mday'] .
'. ' .
176 $sec = ($include_seconds)
180 switch (
$ilUser->getTimeFormat()) {
207 $has_time = !is_a($start,
'ilDate');
212 return self::formatDate($start);
216 if (!$a_skip_starting_day) {
217 $date_str = self::formatDate(
225 switch (
$ilUser->getTimeFormat()) {
233 switch (
$ilUser->getTimeFormat()) {
246 return self::formatDate($start, $a_skip_starting_day) .
' - ' . self::formatDate($end);
265 if (!is_object(self::$today)) {
285 if (!is_object(self::$yesterday)) {
307 if (!is_object(self::$tomorrow)) {
324 public static function secondsToString($seconds, $force_with_seconds =
false, $a_lng = null)
334 $seconds = $seconds ? $seconds : 0;
338 $days = floor($seconds / 86400);
339 $rest = $seconds % 86400;
341 $hours = floor(
$rest / 3600);
344 $minutes = floor(
$rest / 60);
345 $seconds =
$rest % 60;
347 $days = ceil($seconds / 86400);
348 $rest = $seconds % 86400;
350 $hours = ceil(
$rest / 3600);
353 $minutes = ceil(
$rest / 60);
354 $seconds =
$rest % 60;
358 $message = $days .
' ' . ($days == 1 ?
$lng->txt(
'day') :
$lng->txt(
'days'));
364 $message .= ($hours .
' ' . ($hours == 1 ?
$lng->txt(
'hour') :
$lng->txt(
'hours')));
370 $message .= ($minutes .
' ' . ($minutes == 1 ?
$lng->txt(
'minute') :
$lng->txt(
'minutes')));
372 if ($force_with_seconds && $seconds) {
376 $message .= ($seconds .
' ' . ($seconds == 1 ?
$lng->txt(
'second') :
$lng->txt(
'seconds')));
378 if (!$days and !$hours and !$minutes) {
379 return $seconds .
' ' . ($seconds == 1 ?
$lng->txt(
'second') :
$lng->txt(
'seconds'));
static resetToDefaults()
reset to defaults
static setUseRelativeDates($a_status)
set use relative dates
static isToday(ilDateTime $date)
Check if date is "today".
static formatDate(ilDateTime $date, $a_skip_day=false, $a_include_wd=false, $include_seconds=false)
Format a date public.
static _numericMonthToString($a_month, $a_long=true)
numeric month to string
static useRelativeDates()
check if relative dates are used
static setLanguage($a_lng)
set language
Class for date presentation.
static _equals(ilDateTime $start, ilDateTime $end, $a_compare_field='', $a_tz='')
Check if two date are equal.
static $use_relative_dates
static secondsToString($seconds, $force_with_seconds=false, $a_lng=null)
converts seconds to string: Long: 7 days 4 hour(s) ...
static isYesterday(ilDateTime $date)
Check if date is yesterday.
get($a_format, $a_format_str='', $a_tz='')
get formatted date
static isTomorrow(ilDateTime $date)
Check if date is tomorrow.
static formatPeriod(ilDateTime $start, ilDateTime $end, $a_skip_starting_day=false)
Format a period of two date Shows: 14.
static getLanguage()
set language
isNull()
Check if a date is null (Datetime == '0000-00-00 00:00:00', unixtime == 0,...)