24include_once(
'./Services/Calendar/classes/class.ilDate.php');
25include_once(
'./Services/Calendar/classes/class.ilCalendarSettings.php');
62 self::$use_relative_dates = $a_status;
128 $include_seconds =
false)
133 $lng->loadLanguageModule(
'dateplaner');
140 $has_time = !is_a($date,
'ilDate');
152 if (self::isToday($date) and self::useRelativeDates()) {
154 } elseif (self::isTomorrow($date) and self::useRelativeDates()) {
156 } elseif (self::isYesterday($date) and self::useRelativeDates()) {
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');
216 if (!$a_skip_starting_day) {
225 switch (
$ilUser->getTimeFormat()) {
233 switch (
$ilUser->getTimeFormat()) {
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'));
An exception for terminatinating execution or to throw for unit testing.
static _numericMonthToString($a_month, $a_long=true)
numeric month to string
Class for date presentation.
static secondsToString($seconds, $force_with_seconds=false, $a_lng=null)
converts seconds to string: Long: 7 days 4 hour(s) ...
static isTomorrow(ilDateTime $date)
Check if date is tomorrow.
static isYesterday(ilDateTime $date)
Check if date is yesterday.
static getLanguage()
set language
static resetToDefaults()
reset to defaults
static $use_relative_dates
static formatDate(ilDateTime $date, $a_skip_day=false, $a_include_wd=false, $include_seconds=false)
Format a date @access public.
static setLanguage($a_lng)
set language
static setUseRelativeDates($a_status)
set use relative dates
static useRelativeDates()
check if relative dates are used
static isToday(ilDateTime $date)
Check if date is "today".
static formatPeriod(ilDateTime $start, ilDateTime $end, $a_skip_starting_day=false)
Format a period of two date Shows: 14.
@classDescription Date and time handling
static _equals(ilDateTime $start, ilDateTime $end, $a_compare_field='', $a_tz='')
Check if two date are equal.
get($a_format, $a_format_str='', $a_tz='')
get formatted date
isNull()
Check if a date is null (Datetime == '0000-00-00 00:00:00', unixtime == 0,...)