dolibarr 18.0.6
|
Set of function to manipulate dates. More...
Go to the source code of this file.
Functions | |
get_tz_array () | |
Return an array with timezone values. | |
getServerTimeZoneString () | |
Return server timezone string. | |
getServerTimeZoneInt ($refgmtdate='now') | |
Return server timezone int. | |
dol_time_plus_duree ($time, $duration_value, $duration_unit, $ruleforendofmonth=0) | |
Add a delay to a date. | |
convertTime2Seconds ($iHours=0, $iMinutes=0, $iSeconds=0) | |
Convert hours and minutes into seconds. | |
convertSecondToTime ($iSecond, $format='all', $lengthOfDay=86400, $lengthOfWeek=7) | |
Return, in clear text, value of a number of seconds in days, hours and minutes. | |
convertDurationtoHour ($duration_value, $duration_unit) | |
Convert duration to hour. | |
dolSqlDateFilter ($datefield, $day_date, $month_date, $year_date, $excludefirstand=0, $gm=false) | |
Generate a SQL string to make a filter into a range (for second of date until last second of date). | |
dol_stringtotime ($string, $gm=1) | |
Convert a string date into a GM Timestamps date Warning: YYYY-MM-DDTHH:MM:SS+02:00 (RFC3339) is not supported. | |
dol_get_prev_day ($day, $month, $year) | |
Return previous day. | |
dol_get_next_day ($day, $month, $year) | |
Return next day. | |
dol_get_prev_month ($month, $year) | |
Return previous month. | |
dol_get_next_month ($month, $year) | |
Return next month. | |
dol_get_prev_week ($day, $week, $month, $year) | |
Return previous week. | |
dol_get_next_week ($day, $week, $month, $year) | |
Return next week. | |
dol_get_first_day ($year, $month=1, $gm=false) | |
Return GMT time for first day of a month or year. | |
dol_get_last_day ($year, $month=12, $gm=false) | |
Return GMT time for last day of a month or year. | |
dol_get_last_hour ($date, $gm='tzserver') | |
Return GMT time for last hour of a given GMT date (it replaces hours, min and second part to 23:59:59) | |
dol_get_first_hour ($date, $gm='tzserver') | |
Return GMT time for first hour of a given GMT date (it removes hours, min and second part) | |
dol_get_first_day_week ($day, $month, $year, $gm=false) | |
Return first day of week for a date. | |
getGMTEasterDatetime ($year) | |
Return the easter day in GMT time. | |
num_public_holiday ($timestampStart, $timestampEnd, $country_code='', $lastday=0, $includesaturday=-1, $includesunday=-1, $includefriday=-1, $includemonday=-1) | |
Return the number of non working days including Friday, Saturday and Sunday (or not) between 2 dates in timestamp. | |
num_between_day ($timestampStart, $timestampEnd, $lastday=0) | |
Function to return number of days between two dates (date must be UTC date !) Example: 2012-01-01 2012-01-02 => 1 if lastday=0, 2 if lastday=1. | |
num_open_day ($timestampStart, $timestampEnd, $inhour=0, $lastday=0, $halfday=0, $country_code='') | |
Function to return number of working days (and text of units) between two dates (working days) | |
monthArray ($outputlangs, $short=0) | |
Return array of translated months or selected month. | |
getWeekNumbersOfMonth ($month, $year) | |
Return array of week numbers. | |
getFirstDayOfEachWeek ($TWeek, $year) | |
Return array of first day of weeks. | |
getLastDayOfEachWeek ($TWeek, $year) | |
Return array of last day of weeks. | |
getWeekNumber ($day, $month, $year) | |
Return week number. | |
Set of function to manipulate dates.
Definition in file date.lib.php.
convertDurationtoHour | ( | $duration_value, | |
$duration_unit ) |
Convert duration to hour.
int | $duration_value | Duration value |
int | $duration_unit | Duration unit |
Definition at line 332 of file date.lib.php.
Referenced by BOM\calculateCosts().
convertSecondToTime | ( | $iSecond, | |
$format = 'all', | |||
$lengthOfDay = 86400, | |||
$lengthOfWeek = 7 ) |
Return, in clear text, value of a number of seconds in days, hours and minutes.
Can be used to show a duration.
int | $iSecond | Number of seconds |
string | $format | Output format
|
int | $lengthOfDay | Length of day (default 86400 seconds for 1 day, 28800 for 8 hour) |
int | $lengthOfWeek | Length of week (default 7) |
Definition at line 240 of file date.lib.php.
References dol_print_date().
Referenced by build_calfile(), constructGanttLine(), doc_generic_project_odt\get_substitutionarray_tasks(), doc_generic_task_odt\get_substitutionarray_tasks(), doc_generic_project_odt\get_substitutionarray_taskstime(), doc_generic_task_odt\get_substitutionarray_taskstime(), Fichinter\getKanbanView(), getTaskProgressView(), print_projecttasks_array(), projectLinesa(), projectLinesPerAction(), projectLinesPerDay(), projectLinesPerWeek(), pdf_baleine\write_file(), pdf_soleil\write_file(), pdf_strato\write_file(), and pdf_timespent\write_file().
convertTime2Seconds | ( | $iHours = 0, | |
$iMinutes = 0, | |||
$iSeconds = 0 ) |
Convert hours and minutes into seconds.
int | $iHours | Hours |
int | $iMinutes | Minutes |
int | $iSeconds | Seconds |
Definition at line 211 of file date.lib.php.
dol_get_first_day | ( | $year, | |
$month = 1, | |||
$gm = false ) |
Return GMT time for first day of a month or year.
int | $year | Year |
int | $month | Month |
mixed | $gm | False or 0 or 'tzserver' = Return date to compare with server TZ, True or 1 or 'gmt' to compare with GMT date. Example: dol_get_first_day(1970,1,false) will return -3600 with TZ+1, a dol_print_date on it will return 1970-01-01 00:00:00 Example: dol_get_first_day(1970,1,true) will return 0 whatever is TZ, a dol_print_date on it will return 1970-01-01 00:00:00 |
Definition at line 577 of file date.lib.php.
References dol_mktime().
Referenced by CommActionRapport\_pages(), activitytrim(), ActionComm\build_exportfile(), ProjectStats\buildWhere(), TaskStats\buildWhere(), Asset\calculationDepreciation(), AdherentStats\countMembersByTagAndStatus(), AdherentStats\countMembersByTypeAndStatus(), Facture\createFromClone(), dolSqlDateFilter(), CommandeStats\getAllByProduct(), FactureStats\getAllByProduct(), FichinterStats\getAllByProduct(), PropaleStats\getAllByProduct(), CommandeStats\getAmountByMonth(), FactureStats\getAmountByMonth(), FichinterStats\getAmountByMonth(), PropaleStats\getAmountByMonth(), ReceptionStats\getAmountByMonth(), FactureStats\getAmountByYear(), CommandeStats\getAverageByMonth(), FactureStats\getAverageByMonth(), FichinterStats\getAverageByMonth(), ProjectStats\getAverageByMonth(), PropaleStats\getAverageByMonth(), ReceptionStats\getAverageByMonth(), TaskStats\getAverageByMonth(), CommandeStats\getNbByMonth(), DonationStats\getNbByMonth(), ExpeditionStats\getNbByMonth(), FactureStats\getNbByMonth(), FichinterStats\getNbByMonth(), PropaleStats\getNbByMonth(), ReceptionStats\getNbByMonth(), AccountancyCategory\getSumDebitCredit(), box_birthdays\loadBox(), Localtax\localtax_sum_collectee(), Localtax\localtax_sum_payee(), Localtax\localtax_sum_reglee(), tax_by_rate(), tax_by_thirdparty(), pdf_paiement\write_file(), and pdf_standard\write_file().
dol_get_first_day_week | ( | $day, | |
$month, | |||
$year, | |||
$gm = false ) |
Return first day of week for a date.
First day of week may be monday if option MAIN_START_WEEK is 1.
int | $day | Day |
int | $month | Month |
int | $year | Year |
mixed | $gm | False or 0 or 'tzserver' = Return date to compare with server TZ, True or 1 or 'gmt' to compare with GMT date. |
Definition at line 652 of file date.lib.php.
References dol_getdate(), and dol_mktime().
Referenced by dol_get_next_week(), and dol_get_prev_week().
dol_get_first_hour | ( | $date, | |
$gm = 'tzserver' ) |
Return GMT time for first hour of a given GMT date (it removes hours, min and second part)
int | $date | Date GMT |
mixed | $gm | False or 0 or 'tzserver' = Return date to compare with server TZ, 'gmt' to compare with GMT date. |
Definition at line 637 of file date.lib.php.
References dol_getdate(), and dol_mktime().
Referenced by User\isNotIntoValidityDateRange(), and Facture\sendEmailsRemindersOnInvoiceDueDate().
dol_get_last_day | ( | $year, | |
$month = 12, | |||
$gm = false ) |
Return GMT time for last day of a month or year.
Note: The timestamp contains last day and last hours (23:59:59)
int | $year | Year |
int | $month | Month |
mixed | $gm | False or 0 or 'tzserver' = Return date to compare with server TZ, True or 1 or 'gmt' to compare with GMT date. |
Definition at line 596 of file date.lib.php.
References dol_mktime().
Referenced by CommActionRapport\_pages(), ActionComm\build_exportfile(), ProjectStats\buildWhere(), TaskStats\buildWhere(), Asset\calculationDepreciation(), Facture\createFromClone(), dolSqlDateFilter(), Accountancy\exportData(), CommandeStats\getAllByProduct(), FactureStats\getAllByProduct(), FichinterStats\getAllByProduct(), PropaleStats\getAllByProduct(), CommandeStats\getAmountByMonth(), FactureStats\getAmountByMonth(), FichinterStats\getAmountByMonth(), PropaleStats\getAmountByMonth(), ReceptionStats\getAmountByMonth(), FactureStats\getAmountByYear(), CommandeStats\getAverageByMonth(), FactureStats\getAverageByMonth(), FichinterStats\getAverageByMonth(), ProjectStats\getAverageByMonth(), PropaleStats\getAverageByMonth(), ReceptionStats\getAverageByMonth(), TaskStats\getAverageByMonth(), getCurrentPeriodOfFiscalYear(), getDefaultDatesForTransfer(), CommandeStats\getNbByMonth(), DonationStats\getNbByMonth(), ExpeditionStats\getNbByMonth(), FactureStats\getNbByMonth(), FichinterStats\getNbByMonth(), PropaleStats\getNbByMonth(), ReceptionStats\getNbByMonth(), AccountancyCategory\getSumDebitCredit(), Localtax\localtax_sum_collectee(), Localtax\localtax_sum_payee(), Localtax\localtax_sum_reglee(), tax_by_rate(), tax_by_thirdparty(), pdf_paiement\write_file(), and pdf_standard\write_file().
dol_get_last_hour | ( | $date, | |
$gm = 'tzserver' ) |
Return GMT time for last hour of a given GMT date (it replaces hours, min and second part to 23:59:59)
int | $date | Date GMT |
mixed | $gm | False or 0 or 'tzserver' = Return date to compare with server TZ, 'gmt' to compare with GMT date. |
Definition at line 623 of file date.lib.php.
References dol_getdate(), and dol_mktime().
Referenced by Facture\createDepositFromOrigin(), and User\isNotIntoValidityDateRange().
dol_get_next_day | ( | $day, | |
$month, | |||
$year ) |
Return next day.
int | $day | Day |
int | $month | Month |
int | $year | Year |
Definition at line 481 of file date.lib.php.
References dol_getdate(), and dol_mktime().
Referenced by getCommonSubstitutionArray(), and GETPOST().
dol_get_next_month | ( | $month, | |
$year ) |
Return next month.
int | $month | Month |
int | $year | Year |
Definition at line 515 of file date.lib.php.
Referenced by Facture\createFromClone(), getCommonSubstitutionArray(), and GETPOST().
dol_get_next_week | ( | $day, | |
$week, | |||
$month, | |||
$year ) |
Return next week.
int | $day | Day |
int | $week | Week |
int | $month | Month |
int | $year | Year |
Definition at line 555 of file date.lib.php.
References dol_get_first_day_week(), dol_getdate(), and dol_mktime().
dol_get_prev_day | ( | $day, | |
$month, | |||
$year ) |
Return previous day.
int | $day | Day |
int | $month | Month |
int | $year | Year |
Definition at line 465 of file date.lib.php.
References dol_getdate(), and dol_mktime().
Referenced by getCommonSubstitutionArray(), and GETPOST().
dol_get_prev_month | ( | $month, | |
$year ) |
Return previous month.
int | $month | Month |
int | $year | Year |
Definition at line 496 of file date.lib.php.
Referenced by Accountancy\exportData(), getCommonSubstitutionArray(), and GETPOST().
dol_get_prev_week | ( | $day, | |
$week, | |||
$month, | |||
$year ) |
Return previous week.
int | $day | Day |
int | $week | Week |
int | $month | Month |
int | $year | Year |
Definition at line 536 of file date.lib.php.
References dol_get_first_day_week(), dol_getdate(), and dol_mktime().
dol_stringtotime | ( | $string, | |
$gm = 1 ) |
Convert a string date into a GM Timestamps date Warning: YYYY-MM-DDTHH:MM:SS+02:00 (RFC3339) is not supported.
If parameter gm is 1, we will use no TZ, if not we will use TZ of server, not the one inside string.
string | $string | Date in a string YYYYMMDD YYYYMMDDHHMMSS YYYYMMDDTHHMMSSZ YYYY-MM-DDTHH:MM:SSZ (RFC3339) DD/MM/YY or DD/MM/YYYY (deprecated) DD/MM/YY HH:MM:SS or DD/MM/YYYY HH:MM:SS (deprecated) |
int | string | $gm | 'gmt' or 1 =Input date is GM date, 'tzserver' or 0 =Input date is date using PHP server timezone |
Definition at line 409 of file date.lib.php.
References dol_mktime(), and dol_syslog().
Referenced by Tasks\addTimeSpent(), ActionComm\build_exportfile(), Export\build_file(), createInvoice(), createOrder(), createProject(), Dolistore\get_products(), ImportCsv\import_insert(), ImportXlsx\import_insert(), StockMovements\post(), Tasks\putTimeSpent(), and ExportExcel2007\write_record().
dol_time_plus_duree | ( | $time, | |
$duration_value, | |||
$duration_unit, | |||
$ruleforendofmonth = 0 ) |
Add a delay to a date.
int | $time | Date timestamp (or string with format YYYY-MM-DD) |
int | $duration_value | Value of delay to add |
int | $duration_unit | Unit of added delay (d, m, y, w, h, i) |
int | $ruleforendofmonth | Change the behavior of PHP over data-interval, 0 or 1 |
Definition at line 122 of file date.lib.php.
References dol_mktime(), and dol_print_date().
Referenced by modAdherent\__construct(), activitytrim(), Task\addTimeSpent(), build_calfile(), CommonInvoice\calculate_date_lim_reglement(), Asset\calculationDepreciation(), Facture\create(), FactureFournisseur\create(), Task\delTimeSpent(), Contrat\doAutoRenewContracts(), PartnershipUtils\doCancelStatusOfMemberPartnership(), Accountancy\exportData(), FactureFournisseurRec\getNextDate(), FactureRec\getNextDate(), Adherent\initAsSpecimen(), box_activity\loadBox(), box_graph_nb_ticket_last_x_days\loadBox(), Project\loadTimeSpent(), Project\loadTimeSpentMonth(), num_public_holiday(), projectLinesPerDay(), projectLinesPerWeek(), Cronjob\reprogram_jobs(), Facture\sendEmailsRemindersOnInvoiceDueDate(), Adherent\sendReminderForExpiredSubscription(), Adherent\subscription(), Task\updateTimeSpent(), and doc_generic_invoice_odt\write_file().
dolSqlDateFilter | ( | $datefield, | |
$day_date, | |||
$month_date, | |||
$year_date, | |||
$excludefirstand = 0, | |||
$gm = false ) |
Generate a SQL string to make a filter into a range (for second of date until last second of date).
This method allows to maje SQL request that will deal correctly the timezone of server.
string | $datefield | Name of SQL field where apply sql date filter |
int | string | $day_date | Day date (Can be 0 or '' for filter on a month) |
int | string | $month_date | Month date (Can be 0 or '' for filter on a year) |
int | string | $year_date | Year date |
int | $excludefirstand | Exclude first and |
mixed | $gm | False or 0 or 'tzserver' = Input date fields are date info in the server TZ. True or 1 or 'gmt' = Input are date info in GMT TZ. Note: In database, dates are always fot the server TZ. |
Definition at line 360 of file date.lib.php.
References dol_get_first_day(), dol_get_last_day(), and dol_mktime().
Referenced by BookKeeping\deleteByYearAndJournal(), box_birthdays\loadBox(), and box_birthdays_members\loadBox().
get_tz_array | ( | ) |
Return an array with timezone values.
Definition at line 34 of file date.lib.php.
getFirstDayOfEachWeek | ( | $TWeek, | |
$year ) |
Return array of first day of weeks.
array | $TWeek | array of week numbers |
int | $year | Year number |
Definition at line 1135 of file date.lib.php.
getGMTEasterDatetime | ( | $year | ) |
Return the easter day in GMT time.
This function replaces easter_date() that returns a date in local TZ.
int | $year | Year |
Definition at line 722 of file date.lib.php.
Referenced by num_public_holiday().
getLastDayOfEachWeek | ( | $TWeek, | |
$year ) |
Return array of last day of weeks.
array | $TWeek | array of week numbers |
int | $year | Year number |
Definition at line 1153 of file date.lib.php.
getServerTimeZoneInt | ( | $refgmtdate = 'now' | ) |
Return server timezone int.
string | $refgmtdate | Reference period for timezone (timezone differs on winter and summer. May be 'now', 'winter' or 'summer') |
Definition at line 83 of file date.lib.php.
References dol_now(), dol_print_date(), dol_print_error(), and getServerTimeZoneString().
Referenced by dol_now(), dol_print_object_info(), and Form\selectDate().
getServerTimeZoneString | ( | ) |
Return server timezone string.
Definition at line 72 of file date.lib.php.
Referenced by getServerTimeZoneInt().
getWeekNumber | ( | $day, | |
$month, | |||
$year ) |
Return week number.
int | $day | Day number |
int | $month | Month number |
int | $year | Year number |
Definition at line 1169 of file date.lib.php.
Referenced by getWeekNumbersOfMonth(), and Project\loadTimeSpentMonth().
getWeekNumbersOfMonth | ( | $month, | |
$year ) |
Return array of week numbers.
int | $month | Month number |
int | $year | Year number |
Definition at line 1118 of file date.lib.php.
References getWeekNumber().
monthArray | ( | $outputlangs, | |
$short = 0 ) |
Return array of translated months or selected month.
This replace old function monthArrayOrSelected.
Translate | $outputlangs | Object langs |
int | $short | 0=Return long label, 1=Return short label |
Definition at line 1075 of file date.lib.php.
num_between_day | ( | $timestampStart, | |
$timestampEnd, | |||
$lastday = 0 ) |
Function to return number of days between two dates (date must be UTC date !) Example: 2012-01-01 2012-01-02 => 1 if lastday=0, 2 if lastday=1.
int | $timestampStart | Timestamp start UTC |
int | $timestampEnd | Timestamp end UTC |
int | $lastday | Last day is included, 0: no, 1:yes |
Definition at line 991 of file date.lib.php.
Referenced by Asset\calculationDepreciation(), and num_open_day().
num_open_day | ( | $timestampStart, | |
$timestampEnd, | |||
$inhour = 0, | |||
$lastday = 0, | |||
$halfday = 0, | |||
$country_code = '' ) |
Function to return number of working days (and text of units) between two dates (working days)
int | $timestampStart | Timestamp for start date (date must be UTC to avoid calculation errors) |
int | $timestampEnd | Timestamp for end date (date must be UTC to avoid calculation errors) |
int | $inhour | 0: return number of days, 1: return number of hours |
int | $lastday | We include last day, 0: no, 1:yes |
int | $halfday | Tag to define half day when holiday start and end |
string | $country_code | Country code (company country code if not defined) |
Definition at line 1017 of file date.lib.php.
References dol_syslog(), num_between_day(), and num_public_holiday().
Referenced by Export\build_file().
num_public_holiday | ( | $timestampStart, | |
$timestampEnd, | |||
$country_code = '', | |||
$lastday = 0, | |||
$includesaturday = -1, | |||
$includesunday = -1, | |||
$includefriday = -1, | |||
$includemonday = -1 ) |
Return the number of non working days including Friday, Saturday and Sunday (or not) between 2 dates in timestamp.
Dates must be UTC with hour, min, sec to 0. Called by function num_open_day()
int | $timestampStart | Timestamp start (UTC with hour, min, sec = 0) |
int | $timestampEnd | Timestamp end (UTC with hour, min, sec = 0) |
string | $country_code | Country code |
int | $lastday | Last day is included, 0: no, 1:yes |
int | $includesaturday | Include saturday as non working day (-1=use setup, 0=no, 1=yes) |
int | $includesunday | Include sunday as non working day (-1=use setup, 0=no, 1=yes) |
int | $includefriday | Include friday as non working day (-1=use setup, 0=no, 1=yes) |
int | $includemonday | Include monday as non working day (-1=use setup, 0=no, 1=yes) |
Definition at line 746 of file date.lib.php.
References dol_getIdFromCode(), dol_syslog(), dol_time_plus_duree(), and getGMTEasterDatetime().
Referenced by num_open_day().