DateHelper 
App\Helpers\DateHelper
Get Database Timezone 
php
DateHelper::fresnsDatabaseTimezone();Output the current database timezone in UTC standard
Get Database Datetime 
php
DateHelper::fresnsDatabaseCurrentDateTime();Output the current database date and time in the format Y-m-d H:i:s
Convert Datetime to Database Timezone 
php
DateHelper::fresnsDateTimeToDatabaseTimezone($datetime, $timezone, $langTag);| Parameter Name | Type | Required | Description | 
|---|---|---|---|
| datetime | String | optional | Y-m-d H:i:s Datetime value | 
| timezone | String | optional | This timezone is the UTC timezone for the datetime parameter | 
| langTag | String | optional | Outputs the time format in the specified languageconfigs->item_key=language_menus language tag's dateFormat parameterIf not provided, the default language format will be used  | 
Convert the datetime in the timezone to the date and time in the current database timezone
Get Datetime by Specified Timezone 
php
DateHelper::fresnsDateTimeByTimezone($datetime, $timezone, $langTag);| Parameter Name | Type | Required | Description | 
|---|---|---|---|
| datetime | String | optional | Y-m-d H:i:s time value defaults to database time | 
| timezone | String | optional | Converts the time value of the datetime parameter into the timezone UTC timezone | 
| langTag | String | optional | Outputs the time format in the specified languageconfigs->item_key=language_menus language tag's dateFormat parameterIf not provided, the default language format will be used  | 
Logic Notes
- Get the current database timezone
 
- 1.1. If the database timezone is the same as the passed 
timezone, terminate the process and output thedatetimeparameter as is. - 1.2. If the database timezone is different from the passed 
timezone, continue the process. 
- Convert the passed 
datetimeto the time in the passedtimezonebased on the database timezone and output it. 
- Convert the passed 
 - Output format: 
Y-m-d H:i:s 
Get Time by Specified Timezone 
php
DateHelper::fresnsTimeByTimezone($time, $timezone);| Parameter Name | Type | Required | Description | 
|---|---|---|---|
| time | String | optional | H:i time value, default to database time | 
| timezone | String | optional | Converts the time value of the time parameter into the timezone UTC timezone | 
Format Time Output by Timezone and Language Tag 
php
DateHelper::fresnsFormatDateTime($datetime, $timezone, $langTag);| Parameter Name | Type | Required | Description | 
|---|---|---|---|
| datetime | String | optional | Y-m-d H:i:s time value defaults to database time | 
| timezone | String | optional | Converts the time value of the datetime parameter into the timezone UTC timezone | 
| langTag | String | optional | Outputs the time format in the specified languageconfigs->item_key=language_menus language tag's dateFormat parameterIf not provided, the default language format will be used  | 
Logic Notes
- If the data's timezone time and the current 
datetimeparameter are on the same day, output ashh:mm - If not on the same day but in the same year, output in the corresponding language label format, such as 
mm-dd hh:mmormm/dd hh:mm - If not on the same day and not in the same year, output in the corresponding language label format, such as 
yyyy-mm-dd hh:mmormm/dd/yyyy hh:mm 
Convert Time Format by Language Tag 
php
DateHelper::fresnsFormatConversion($datetime, $langTag);| Parameter Name | Type | Required | Description | 
|---|---|---|---|
| datetime | String | optional | Y-m-d H:i:s | 
| langTag | String | optional | Outputs the time format in the specified languageconfigs->item_key=language_menus language tag's dateFormat parameterIf not provided, the default language format will be used  | 
Humanize Time Output by Language Tag 
php
DateHelper::fresnsHumanReadableTime($datetime, $langTag);| Parameter Name | Type | Required | Description | 
|---|---|---|---|
| datetime | String | required | Y-m-d H:i:s time value defaults to database time | 
| langTag | String | optional | Corresponds to configs table language_menus key name key value timeFormat* configuration. - timeFormatMinute - timeFormatHour - timeFormatDay - timeFormatMonth If not provided, the default language format will be used  | 
Logic Notes
- Logic 
- Get the current time of the database;
 
- Subtract the 
datetimeparameter from the current database time to get the time difference; 
- Subtract the 
 - Convert the time difference into human-readable time output.
 
 - Scenarios 
- Time is within 60 minutes (including seconds within 1 minute), output as "minutes" value, client usage scenario is 
n minutes ago - Time exceeds 60 minutes, but within 24 hours, output as "hours" value, client usage scenario is 
n hours ago - Time exceeds 24 hours, but within 30 days, output as "days" value, client usage scenario is 
n days ago - Time exceeds 30 days, but within 365 days, output as "months" value, client usage scenario is 
n months ago 
 - Time is within 60 minutes (including seconds within 1 minute), output as "minutes" value, client usage scenario is