erp/app/Utils/DateTimeUtils.php

72 lines
1.6 KiB
PHP
Raw Permalink Normal View History

2022-08-09 10:34:36 +08:00
<?php
namespace App\Utils;
2024-08-14 17:40:14 +08:00
use Illuminate\Support\Facades\Log;
2022-08-09 10:34:36 +08:00
class DateTimeUtils
{
/**
* 今天7点到明天7点算作今天
*/
public static function getToday()
{
$time = time();
$inventoryTime = strtotime(date('Y-m-d 07:00:00'));
if ($time < $inventoryTime) {
$time = strtotime('-1 day');
}
return date('Y-m-d', $time);
}
2022-08-23 16:25:31 +08:00
public static function getNextDay()
{
$time = time();
$inventoryTime = strtotime(date('Y-m-d 07:00:00'));
if ($time > $inventoryTime) {
$time = strtotime('+1 day');
}
return date('Y-m-d', $time);
}
2022-08-09 10:34:36 +08:00
public static function getMicroTime($dateTime = null)
{
$time = microtime(true);
if ($dateTime && is_string($dateTime)) {
$time = strtotime($dateTime);
}
if ($dateTime && is_int($dateTime)) {
$time = $dateTime;
}
$time *= 1000;
2023-04-04 15:28:56 +08:00
return (int)ceil($time);
2022-08-09 10:34:36 +08:00
}
2024-08-13 18:17:03 +08:00
2024-08-14 17:40:14 +08:00
public static function validateDate($date, $format = 'Y-m-d')
{
2024-08-13 18:17:03 +08:00
$d = \DateTime::createFromFormat($format, $date);
return $d && $d->format($format) === $date;
}
2024-08-14 17:40:14 +08:00
2024-09-02 17:36:43 +08:00
public static function excelUploadDateToString($excelData, $defaultTime, $format = "Y-m-d")
2024-08-14 17:40:14 +08:00
{
2024-09-02 17:36:43 +08:00
2024-08-14 17:40:14 +08:00
try {
2024-09-02 17:36:43 +08:00
$time = ($excelData - 25569) * 24 * 3600;
if ($format == "Y-m-d H:i:s") {
$time = $time - 8 * 3600;
}
return date($format, $time);
2024-08-14 17:40:14 +08:00
} catch (\Exception $exception) {
2024-09-02 17:36:43 +08:00
Log::error("时间转化出错", [$exception->getMessage()]);
2024-08-14 17:40:14 +08:00
}
return $defaultTime;
}
2022-08-09 10:34:36 +08:00
}