Date
Handling date information
Handling date information
Get expected delivery date:
$DeliveryDate = $this->get('date', $order_date)->addDays(3)->setNextWorkday();
$this->get('date');
You can give target date as a second parameter. Date can be in many formats: The given value is interpreted accordingly.
Y-m-d $this->get('date','2013-04-13');
d.m.Y $this->get('date','13.04.2013');
Timestamp $this->get('date',1365870932);
Date -string $this->get('date','Tomorrow');
Date range -string $this->get('date','This week'); --> Monday
Date range -string $this->get('date','This week','end'); --> Sunday
Or if you know the correct format, you can use the explicit method to set the date:
Y,m,d $this->get('date')->setDate('2013','04','13');
Y-m-d $this->get('date')->setDateFromYmd('2013-04-13');
d.m.Y $this->get('date')->setDateFromDmy('13.04.2013');
Timestamp $this->get('date')->setDateFromTimestamp(1365870932);
Date string $this->get('date')->setDateFromString('Tomorrow');
Week $this->get('date')->setWeek('15','2013');
You can create new eDate -object of date -fields with Field::getDate() -method.
$expirationDate = $Order->billing_date->getDate()->addDays(14);
You can get reference to eDate -object of value in Date -field using Field::getDateReference() method.
Add 14 days to value in field:
$Order->billing_date->getDateReference()->addDays(14);
All undefined method calls in Date -field are bridged to Field::getDateReference():
$Order->billing_date->addDays(14);
You can create a date and then change its value with modifier -methods:
Tomorrow is $this->get('date')->addDay();
Expiration date is $this->get('date',$billingDate)->addWeeks(2);
Expiration date is $this->get('date',$billingDate)->modify('+14 days');
This day in january is $this->get('date')->setMonth(1);
First day for month $this->get('date')->getFirstDateOfMonth(1);
Comparing functions creates a date from given parameter and compares it to current date value. Default target date is Today.
if ( $this->get('date',$date)->isToday() ){
// Date is today
}
if ( $this->get('date',$date)->isAfter() ){
// Date is after today
}
if ( $this->get('date',$date)->isAfterOr('Tomorrow') ){
// Date is tomorrow or after
}
if ( $this->get('date',$date)->isBefore('2013-07-12') ){
// Date is before 2013-07-12
}
if ( $this->get('date',$date)->isBefore('next friday') ){
// Date is before next friday
}
if ( $this->get('date',$date)->isSame($dateParam,'week') ){
// Date is in the same week as date in param
}
if ( $this->get('date',$date)->isAfter('Today','month') ){
// Date is in next month or after
}
if ( $this->get('date',$date)->isBetween('yesterday','tomorrow') ){
// Date is yesterday, today or tomorrow
}
if ( $this->get('date',$date)->isBetween($start,$end) ){
// Date is: $start, $end, Between or start/end is not defined.
}
Go through all days in week
foreach ( $this->get('date',$date)->getDatesInWeek() as $Date ){
$txt .= "Date: {$Date}";
}
Get all dates until given date:
foreach ( $this->get('date',$startDate)->getDatesTo($endDate) as $Date ){
$txt .= "Date: {$Date}";
}
Loop through months (jan to dec):
foreach ( $this->get('date')->getMonths() as $Date ){
$txt .= "{$Date->getMonth()}. month is {$Date->getMonthName()}";
}
Date -class is chainable. ie. all methods that returns 'this' can be written in chain. When cast to string, class returns the date in local or setFormat() -format.
Method | Return type | Description |
---|---|---|
setDate(Y,m,d) | this | Sets date from Y,m,d vars. |
clearDate() | this | Setd date as 'undefined'. |
setDateFromParam(mixed) | this | Sets date from unknown format. Same as create -parameter. |
setDateFromYmd('Y-m-d') | this | Sets date from Y-m-d -format. |
setYmd('Y-m-d') | this | Alias for setDateFromYmd(). |
setDateFromDmy('d.m.Y') | this | Sets date from d.m.Y -format. |
setDateFromTimestamp( int ) | this | Sets date from UNIX timestamp. |
setDateFromYmdhis( int ) | this | Sets date from YYYYMMDDHHIISS -format. |
setDateFromString(string) | this | Sets date according to Date formats |
setDateFromObject(object) | this | Sets date from eDate or DateTime -objects. |
Method | Return type | Description |
---|---|---|
setYear(int) | this | Changes the year to explicit value. |
setQuarter(int) | this | Changes the quarter to explicit value. |
setMonth(int) | this | Changes the month to explicit value. Checks the number of days. ie. 31.01.2013 -> 28.2.2013 |
setWeek(vk[,year,day]) | this | Set given week/year/weekday. |
setDay(int) | this | Changes the day to explicit value. Does noe change year/month (ie. day over month max days is set as month max days) |
setDayOfWeek(int) | this | Changes the day to goven weekday 1=monday. |
addYear() | this | Add one year. |
addMonth() | this | Add one month. Checks the number of days. ie. 31.01.2013 -> 28.2.2013 |
addWeek() | this | Add one week. |
addDay() | this | Add one day. |
addYears(int) | this | Add one or more years. |
addMonths(int) | this | Add one or more months. Checks the number of days. ie. 31.01.2013 -> 28.2.2013 |
addWeeks(int) | this | Add one or more weeks. |
addDays(int) | this | Add one or more days. |
modify(string) | this | Modifies date according to Relative date formats |
Method | Return type | Example | Description |
---|---|---|---|
format([format]) | string | 12.03.2021 | Return date accoding to given Date format. If not set, uses local format. |
getDateShort() | string | 12.03. | Return date in short form in local format. |
getTimestamp() | int | Date (and time) in UNIX timestamp. | |
getDaystamp() | int | Date (no time) in UNIX timestamp. | |
getYmd() | string | 2015-10-25 | Date in Y-m-d -format. |
getYear() | int | 2015 | Year in four digits |
getQuarter() | int | 4 | Quarter: 1-4 |
getMonth() | int | 12 | Month number: 1-12 |
getMonthName() | string | January | Locale name of the month. |
getMonthNameShort() | string | Jan | Month name abbreviation. |
getMonthYearName() | string | January 2015 | Monthname and year |
getWeek() | int | 53 | Week number |
getWeekYear() | int | 2015 | Year of the week (31.12.2018 = 2019 vk 1) |
getWeekYearName() | string | 2015 vk 25 | Year and week. |
getDay() | int | 31 | Day of month. |
getDayName() | string | Monday | Day name. |
getDayNameShort() | string | Mo | Day name abbreviation. |
getDaysInMonth() | int | 28 | Number of days in month. 28-31 |
getDaysInYear() | int | 365-366 | Number of days in year. |
isLeapYear() | bool | false | True, if date is in leap -year. |
getDayOfWeek() | int | 7 | Day of week. 1=Monday |
getDayOfMonth() | int | 31 | Day of month: 1-31 |
getDayOfYear() | int | 365 | Day of year: 1-366 |
getDate() | eDate | New eDate object with the value of original eDate. | |
isValid() | bool | true | Return true, if object has a valid date in it. |
isNull() | bool | false | Return true, if object does not have valid date in it. |
Method | Return type | Description |
---|---|---|
isWorkday() | bool | True, if date is not holiday nor saturday. |
getWorkdatesTo($date) | eDate[] | Date -objects of workdays in given range. |
countWorkdaysTo($date) | int | Number of workdays in given range. |
getWorkdatesInMonth() | eDate[] | Date -objects of workdays in given range |
countWorkdaysInMonth() | int | Number of workdays in month. |
setPrevWorkday() | this | Set previous working date, if date is weekend or extra holiday. |
setNextWorkday() | this | Set next working date, if date is weekend or extra holiday. |
setClosestWorkday() | this | If saturday, set last friday. If sunday, set next monday; |
setClosestWorkdayInSameMonth() | this | Set last friday/next monday so that new day is in same month than the value. |
Method | Return type | Description |
---|---|---|
getAnniversary() | eDate | Anniversary date in current year. |
getBirthday() | eDate | Alias for getAnniversary() |
getNextAnniversary() | eDate | If anniversary is in past for this year, get next year. |
getNextBirthday() | eDate | Alias for getNextAnniversary() |
getAge([$targetDate]) | int | Age in targetDate (default: today). |
eDate setter/getter -pattern: If given argument, it is set as value. If argument is not set, value is get.
Method | Setter | Getter |
---|---|---|
ymd([string]) | setDateFromYmd() | getYmd() |
year([int]) | setYear(int) | getYear() |
quarter([int]) | setQuarter(int) | getQuarter() |
month([int]) | setMonth(int) | getMonth() |
week([int]) | setWeek(int) | getWeek() |
day([int]) | setDay(int) | getDay() |
Method | Return type | Description |
---|---|---|
isPast() | bool | TRUE, if date is before current date. |
isToday() | bool | TRUE, if date is today. |
isFuture() | bool | TRUE, if date is after current date. |
isMonday() | bool | TRUE, if date is monday. |
isTuesday() | bool | TRUE, if date is tuesday. |
isWednesday() | bool | TRUE, if date is wednesday. |
isThursday() | bool | TRUE, if date is thursday. |
isFriday() | bool | TRUE, if date is friday. |
isSaturday() | bool | TRUE, if date is saturday. |
isSunday() | bool | TRUE, if date is sunday. |
isWeekend() | bool | TRUE, if date is saturday or sunday. |
isHoliday() | bool | TRUE, if date is sunday or a special holiday (Finnish cal) |
Is first/last | Return type | Description |
---|---|---|
isFirstDateOfWeek() | bool | TRUE, is date is first date of week |
isFirstDateOfMonth() | bool | TRUE, is date is first date of month |
isFirstDateOfQuarter() | bool | TRUE, is date is first date of quarter |
isFirstDateOfYear() | bool | TRUE, is date is first date of year |
isLastDateOfWeek() | bool | TRUE, is date is last date of week |
isLastDateOfMonth() | bool | TRUE, is date is last date of month |
isLastDateOfQuarter() | bool | TRUE, is date is last date of quarter |
isLastDateOfYear() | bool | TRUE, is date is last date of year |
Compare to other date | Return type | Description |
---|---|---|
isSame(date,[unit]) | bool | TRUE, if date is same as given date. |
isSameWeek(date) | bool | TRUE, if is in same week as given date. |
isSameMonth(date) | bool | TRUE, if is in same month as given date. |
isSameQuarter(date) | bool | TRUE, if is in same quarter as given date. |
isSameYear(date) | bool | TRUE, if is in same year as given date. |
isBefore(date,[unit]) | bool | TRUE, if date is before given date. |
isBeforeOr(date,[unit]) | bool | TRUE, if date is before or the given date. |
isAfter(date,[unit]) | bool | TRUE, if date is after given date. |
isAfterOr(date,[unit]) | bool | TRUE, if date is after or the given date. |
isBetween(date,date,[unit]) | bool | TRUE, if date is between or a given date. |
isEffective(date,date,[unit]) | bool | TRUE, if date is effective in given date range: isBetween or start/end not defined. |
getDaysTo([date]) | int | Day difference to target date: $Today->getDaysTo($Tomorrow) = 1 |
getDaysFrom([date]) | int | Day difference from target date: $Today->getDaysFrom($Tomorrow) = -1 |
getDaysAgo([date]) | string | Get day diff in human form: Tomorrow, Over 2 weeks from now... |
diffDays(date) | int | Get number of days between two days. $Today->diffDays($Tomorrow) = 1 |
countDaysTo(date) | int | Get number of days to given date. Alias to diffDays() |
countDaysFrom(date) | int | Get number of days from given date. Alias to diffDays() * -1 |
diffMonths(date) | int | Get number of months between two days. (Huomioi vain vuoden ja kuukauden, ei päivää) |
countMonthsTo(date) | int | Get number of months to given date. Alias to diffMonths() |
countMonthsFrom(date) | int | Get number of months from given date. Alias to diffMonths() * -1 |
getWeeksTo(date) | int | Get first date of weeks to given date. |
getMonthsTo(date) | int | Get first date of months to given date. |
getQuartersTo(date) | int | Get first date of quarters to given date. |
getYearsTo(date) | int | Get first date of years to given date. |
Comparison value | Return type | Description |
---|---|---|
getComparisonValue($unit) | int | Comparison value in given unit. |
getDayValue() | int yyyymmdd | Comparison value in accuracy of day. |
getWeekValue() | int yyyyww | Comparison value in accuracy of week. |
getMonthValue() | int yyyymm | Comparison value in accuracy of month. |
getQuarterValue() | int yyyyq | Comparison value in accuracy of quarter. |
getYearValue() | int yyyy | Comparison value in accuracy of year. |
Method | Return type | Description |
---|---|---|
getFirstDateOfYear() | eDate | The first date of year. |
getLastDateOfYear() | eDate | The last date of year. |
getFirstDateOfQuarter() | eDate | The first date of quarter. |
getLastDateOfQuarter() | eDate | The last date of quarter. |
getFirstDateOfMonth() | eDate | The first date of month. |
getLastDateOfMonth() | eDate | The last date of month. |
getFirstDateOfWeek() | eDate | The first date of week. |
getLastDateOfWeek() | eDate | The last date of week. |
getDatesInWeek() | eDate[] | Days of the week. |
getDatesInMonth() | eDate[] | Days of the month. |
getDatesInYear() | eDate[] | Days of the year. |
getDatesTo($day) | eDate[] | Days from the date to given day. |
Method | Return type | Description |
---|---|---|
getMonths() | eDate[] | Loop through months in current year. (first days of month) |
::getHolidayList(start,end) | array | Return the list of special holidays in given range: array[YYYY-MM-DD] = Name |
Method | Return type | Description |
---|---|---|
setFormat(string) | this | Sets return format |
getFormat() | string | Format that has been set to class. |