|
dolibarr 20.0.5
|
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 |
| string | $duration_unit | Duration unit |
Definition at line 334 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 242 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(), FormWebPortal\showOutputFieldForObject(), 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 213 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 |
| bool | int | string | $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 595 of file date.lib.php.
References dol_mktime().
Referenced by pdf_standard_actions\_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 |
| bool | int | string | $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 670 of file date.lib.php.
References dol_getdate(), and dol_mktime().
Referenced by Project\createWeeklyReport(), 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 |
| bool | int | string | $gm | False or 0 or 'tzserver' = Return date to compare with server TZ, 'gmt' to compare with GMT date. |
Definition at line 655 of file date.lib.php.
References dol_getdate(), and dol_mktime().
Referenced by Societe\getOutstandingBills(), User\isNotIntoValidityDateRange(), Facture\sendEmailsRemindersOnInvoiceDueDate(), and FactureFournisseur\sendEmailsRemindersOnSupplierInvoiceDueDate().
| 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 |
| bool | int | string | $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 614 of file date.lib.php.
References dol_mktime().
Referenced by pdf_standard_actions\_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 |
| bool | int | string | $gm | False or 0 or 'tzserver' = Return date to compare with server TZ, 'gmt' to compare with GMT date. |
Definition at line 641 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 499 of file date.lib.php.
References dol_getdate(), and dol_mktime().
| dol_get_next_month | ( | $month, | |
| $year ) |
Return next month.
| int | $month | Month |
| int | $year | Year |
Definition at line 533 of file date.lib.php.
Referenced by Facture\createFromClone().
| 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 573 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 483 of file date.lib.php.
References dol_getdate(), and dol_mktime().
| dol_get_prev_month | ( | $month, | |
| $year ) |
Return previous month.
| int | $month | Month |
| int | $year | Year |
Definition at line 514 of file date.lib.php.
Referenced by Accountancy\exportData().
| 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 554 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 427 of file date.lib.php.
References dol_mktime(), and dol_syslog().
Referenced by Invoices\addPayment(), Invoices\addPaymentDistributed(), 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 |
| string | $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 125 of file date.lib.php.
References dol_mktime(), dol_print_date(), and getDolGlobalString().
Referenced by modAdherent\__construct(), activitytrim(), Task\addTimeSpent(), build_calfile(), CommonInvoice\calculate_date_lim_reglement(), Asset\calculationDepreciation(), check_user_password_dolibarr(), Facture\create(), FactureFournisseur\create(), Project\createWeeklyReport(), 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(), FactureFournisseur\sendEmailsRemindersOnSupplierInvoiceDueDate(), 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 for the server TZ. |
Definition at line 378 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 36 of file date.lib.php.
| getFirstDayOfEachWeek | ( | $TWeek, | |
| $year ) |
Return array of first day of weeks.
| string[] | $TWeek | array of week numbers we want (week 1 must be '01') |
| int | $year | Year number |
Definition at line 1190 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 740 of file date.lib.php.
Referenced by num_public_holiday().
| getLastDayOfEachWeek | ( | $TWeek, | |
| $year ) |
Return array of last day of weeks.
| string[] | $TWeek | array of week numbers |
| int | $year | Year number |
Definition at line 1209 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 86 of file date.lib.php.
References dol_now(), dol_print_date(), dol_print_error(), and getServerTimeZoneString().
Referenced by dol_print_object_info(), and Form\selectDate().
| getServerTimeZoneString | ( | ) |
Return server timezone string.
Definition at line 75 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 1226 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 1172 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 1128 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 1021 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 1049 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 764 of file date.lib.php.
References dol_getIdFromCode(), dol_syslog(), dol_time_plus_duree(), getDolGlobalInt(), and getGMTEasterDatetime().
Referenced by Project\createWeeklyReport(), and num_open_day().