提交 9b494ef7 编写于 作者: 李光春's avatar 李光春

增加日期、时间、唯一门面

上级 688b3dac
<?php
// +----------------------------------------------------------------------
// | ThinkLibrary 6.0 for ThinkPhP 6.0
// +----------------------------------------------------------------------
// | 版权所有 2017~2020 [ https://www.dtapp.net ]
// +----------------------------------------------------------------------
// | 官方网站: https://gitee.com/liguangchun/ThinkLibrary
// +----------------------------------------------------------------------
// | 开源协议 ( https://mit-license.org )
// +----------------------------------------------------------------------
// | gitee 仓库地址 :https://gitee.com/liguangchun/ThinkLibrary
// | github 仓库地址 :https://github.com/GC0202/ThinkLibrary
// | Packagist 地址 :https://packagist.org/packages/liguangchun/think-library
// +----------------------------------------------------------------------
namespace DtApp\ThinkLibrary;
/**
* 日期管理类
* Class Date
* @package DtApp\ThinkLibrary
*/
class Date
{
}
<?php
// +----------------------------------------------------------------------
// | ThinkLibrary 6.0 for ThinkPhP 6.0
// +----------------------------------------------------------------------
// | 版权所有 2017~2020 [ https://www.dtapp.net ]
// +----------------------------------------------------------------------
// | 官方网站: https://gitee.com/liguangchun/ThinkLibrary
// +----------------------------------------------------------------------
// | 开源协议 ( https://mit-license.org )
// +----------------------------------------------------------------------
// | gitee 仓库地址 :https://gitee.com/liguangchun/ThinkLibrary
// | github 仓库地址 :https://github.com/GC0202/ThinkLibrary
// | Packagist 地址 :https://packagist.org/packages/liguangchun/think-library
// +----------------------------------------------------------------------
namespace DtApp\ThinkLibrary;
/**
* 时间管理类
* Class Time
* @package DtApp\ThinkLibrary
*/
class Time
{
/**
* 当前时间
* @param string $format 格式
* @return false|string
*/
public function getData(string $format = "Y-m-d H:i:s")
{
date_default_timezone_set('Asia/Shanghai');
return date($format, time());
}
/**
* 当前时间戳
* @return false|string
*/
public function getTime()
{
date_default_timezone_set('Asia/Shanghai');
return time();
}
/**
* 毫秒时间
* @return false|string
*/
public function getUDate()
{
date_default_timezone_set('Asia/Shanghai');
$msec = 0;
list($msec, $sec) = explode(' ', microtime());
return (float)sprintf('%.0f', (floatval($msec) + floatval($sec)) * 1000);
}
/**
* 计算两个时间差
* @param string $end_time 结束时间
* @param string $start_time 开始时间
* @return false|int
*/
public function getTimeDifference(string $end_time, string $start_time)
{
date_default_timezone_set('Asia/Shanghai');
$end_time = strtotime($end_time);
$start_time = $start_time == '' ? strtotime(self::getData('Y-m-d H:i:s')) : strtotime($start_time);
return $end_time - $start_time;
}
/**
* 将指定日期转换为时间戳
* @param string $date
* @return false|int
*/
public function dateToTimestamp(string $date)
{
date_default_timezone_set('Asia/Shanghai');
return strtotime($date);
}
/**
* 获取某个时间之后的时间
* @param string $format 格式
* @param int $mun 多少分钟
* @return false|string
*/
public function dateRear(string $format = "Y-m-d H:i:s", int $mun = 10)
{
date_default_timezone_set('Asia/Shanghai');
return date($format, strtotime(self::getData()) + $mun);
}
/**
* 获取某个时间之前的时间
* @param string $format 格式
* @param int $mun 多少分钟
* @return false|string
*/
public function dateBefore(string $format = "Y-m-d H:i:s", int $mun = 10)
{
date_default_timezone_set('Asia/Shanghai');
return date($format, strtotime(self::getData()) - $mun);
}
/**
* 判断当前的时分是否在指定的时间段内
* @param string $start 开始时间
* @param string $end 结束时间
* @return bool true:在范围内,false:没在范围内
*/
public function checkIsBetweenTime(string $start, string $end)
{
date_default_timezone_set('Asia/Shanghai');
$date = date('H:i');
$curTime = strtotime($date);//当前时分
$assignTime1 = strtotime($start);//获得指定分钟时间戳,00:00
$assignTime2 = strtotime($end);//获得指定分钟时间戳,01:00
$result = false;
if ($curTime > $assignTime1 && $curTime < $assignTime2) $result = true;
return $result;
}
}
<?php
// +----------------------------------------------------------------------
// | ThinkLibrary 6.0 for ThinkPhP 6.0
// +----------------------------------------------------------------------
// | 版权所有 2017~2020 [ https://www.dtapp.net ]
// +----------------------------------------------------------------------
// | 官方网站: https://gitee.com/liguangchun/ThinkLibrary
// +----------------------------------------------------------------------
// | 开源协议 ( https://mit-license.org )
// +----------------------------------------------------------------------
// | gitee 仓库地址 :https://gitee.com/liguangchun/ThinkLibrary
// | github 仓库地址 :https://github.com/GC0202/ThinkLibrary
// | Packagist 地址 :https://packagist.org/packages/liguangchun/think-library
// +----------------------------------------------------------------------
namespace DtApp\ThinkLibrary;
/**
* 唯一ID管理类
* Class UnIqId
* @package DtApp\ThinkLibrary
*/
class UnIqId
{
/**
* 获取随机字符串编码
* @param integer $size 字符串长度
* @param integer $type 字符串类型(1纯数字,2纯字母,3数字字母)
* @param string $prefix 编码前缀
* @return string
*/
public function random($size = 10, $type = 1, $prefix = '')
{
$numbs = '0123456789';
$chars = 'abcdefghijklmnopqrstuvwxyz';
if (intval($type) === 1) $chars = $numbs;
if (intval($type) === 2) $chars = "{$chars}";
if (intval($type) === 3) $chars = "{$numbs}{$chars}";
$string = $prefix . $chars[rand(1, strlen($chars) - 1)];
if (isset($chars)) while (strlen($string) < $size) {
$string .= $chars[rand(0, strlen($chars) - 1)];
}
return $string;
}
/**
* 唯一日期编码
* @param integer $size
* @param string $prefix
* @return string
*/
public function date($size = 16, $prefix = '')
{
if ($size < 14) $size = 14;
$string = $prefix . date('Ymd') . (date('H') + date('i')) . date('s');
while (strlen($string) < $size) $string .= rand(0, 9);
return $string;
}
/**
* 唯一数字编码
* @param integer $size
* @param string $prefix
* @return string
*/
public function number($size = 12, $prefix = '')
{
$time = time() . '';
if ($size < 10) $size = 10;
$string = $prefix . ($time[0] + $time[1]) . substr($time, 2) . rand(0, 9);
while (strlen($string) < $size) $string .= rand(0, 9);
return $string;
}
}
<?php
// +----------------------------------------------------------------------
// | ThinkLibrary 6.0 for ThinkPhP 6.0
// +----------------------------------------------------------------------
// | 版权所有 2017~2020 [ https://www.dtapp.net ]
// +----------------------------------------------------------------------
// | 官方网站: https://gitee.com/liguangchun/ThinkLibrary
// +----------------------------------------------------------------------
// | 开源协议 ( https://mit-license.org )
// +----------------------------------------------------------------------
// | gitee 仓库地址 :https://gitee.com/liguangchun/ThinkLibrary
// | github 仓库地址 :https://github.com/GC0202/ThinkLibrary
// | Packagist 地址 :https://packagist.org/packages/liguangchun/think-library
// +----------------------------------------------------------------------
namespace DtApp\ThinkLibrary\facade;
use think\Facade;
/**
* 日期门面
* Class Preg
* @see \DtApp\ThinkLibrary\Date
* @package think\facade
* @mixin \DtApp\ThinkLibrary\Date
* @package DtApp\ThinkLibrary\facade
*/
class Date extends Facade
{
protected static function getFacadeClass()
{
return 'DtApp\ThinkLibrary\Date';
}
}
......@@ -25,7 +25,19 @@ use think\facade;
* @package think\facade
* @mixin \DtApp\ThinkLibrary\Preg
* @package DtApp\ThinkLibrary\facade
* @method bool isIphone($mobile) static 验证手机号码
* @method \DtApp\ThinkLibrary\Preg isIphone($mobile) bool 验证手机号码
* @method \DtApp\ThinkLibrary\Preg isIphoneAll($mobile) bool 严谨验证手机号码
* @method \DtApp\ThinkLibrary\Preg isTel($tel) bool 验证电话号码
* @method \DtApp\ThinkLibrary\Preg isIdCard($mobile) bool 验证身份证号(15位或18位数字)
* @method \DtApp\ThinkLibrary\Preg isDigit($digit) bool 验证是否是数字(这里小数点会认为是字符)
* @method \DtApp\ThinkLibrary\Preg isNum($num) bool 验证是否是数字(可带小数点的数字)
* @method \DtApp\ThinkLibrary\Preg isStr($str) bool 验证由数字、26个英文字母或者下划线组成的字符串
* @method \DtApp\ThinkLibrary\Preg isPassword($str) bool 验证用户密码(以字母开头,长度在6-18之间,只能包含字符、数字和下划线)
* @method \DtApp\ThinkLibrary\Preg isChinese($str) bool 验证汉字
* @method \DtApp\ThinkLibrary\Preg isEmail($email) bool 验证Email地址
* @method \DtApp\ThinkLibrary\Preg isLink($url) bool 验证网址URL
* @method \DtApp\ThinkLibrary\Preg isQq($qq) bool 腾讯QQ号
* @method \DtApp\ThinkLibrary\Preg isIp($ip) bool 验证IP地址
*/
class Preg extends Facade
{
......
<?php
// +----------------------------------------------------------------------
// | ThinkLibrary 6.0 for ThinkPhP 6.0
// +----------------------------------------------------------------------
// | 版权所有 2017~2020 [ https://www.dtapp.net ]
// +----------------------------------------------------------------------
// | 官方网站: https://gitee.com/liguangchun/ThinkLibrary
// +----------------------------------------------------------------------
// | 开源协议 ( https://mit-license.org )
// +----------------------------------------------------------------------
// | gitee 仓库地址 :https://gitee.com/liguangchun/ThinkLibrary
// | github 仓库地址 :https://github.com/GC0202/ThinkLibrary
// | Packagist 地址 :https://packagist.org/packages/liguangchun/think-library
// +----------------------------------------------------------------------
namespace DtApp\ThinkLibrary\facade;
use think\Facade;
/**
* 时间门面
* Class Preg
* @see \DtApp\ThinkLibrary\Time
* @package think\facade
* @mixin \DtApp\ThinkLibrary\Time
* @package DtApp\ThinkLibrary\facade
* @method \DtApp\ThinkLibrary\Time getData(string $format = "Y-m-d H:i:s") false|string 当前时间
* @method \DtApp\ThinkLibrary\Time getTime() false|string 当前时间戳
* @method \DtApp\ThinkLibrary\Time getUDate() false|string 当前时间戳
* @method \DtApp\ThinkLibrary\Time getTimeDifference(string $end_time, string $start_time) false|string 计算两个时间差
* @method \DtApp\ThinkLibrary\Time dateToTimestamp(string $date) false|string 将指定日期转换为时间戳
* @method \DtApp\ThinkLibrary\Time dateRear(string $format = "Y-m-d H:i:s", int $mun = 10) false|string 获取某个时间之后的时间
* @method \DtApp\ThinkLibrary\Time dateBefore(string $format = "Y-m-d H:i:s", int $mun = 10) false|string 获取某个时间之前的时间
* @method \DtApp\ThinkLibrary\Time checkIsBetweenTime(string $start,string $end) bool 判断当前的时分是否在指定的时间段内
*/
class Time extends Facade
{
protected static function getFacadeClass()
{
return 'DtApp\ThinkLibrary\Time';
}
}
<?php
// +----------------------------------------------------------------------
// | ThinkLibrary 6.0 for ThinkPhP 6.0
// +----------------------------------------------------------------------
// | 版权所有 2017~2020 [ https://www.dtapp.net ]
// +----------------------------------------------------------------------
// | 官方网站: https://gitee.com/liguangchun/ThinkLibrary
// +----------------------------------------------------------------------
// | 开源协议 ( https://mit-license.org )
// +----------------------------------------------------------------------
// | gitee 仓库地址 :https://gitee.com/liguangchun/ThinkLibrary
// | github 仓库地址 :https://github.com/GC0202/ThinkLibrary
// | Packagist 地址 :https://packagist.org/packages/liguangchun/think-library
// +----------------------------------------------------------------------
namespace DtApp\ThinkLibrary\facade;
use think\Facade;
/**
* 唯一ID门面
* Class Preg
* @see \DtApp\ThinkLibrary\UnIqId
* @package think\facade
* @mixin \DtApp\ThinkLibrary\UnIqId
* @package DtApp\ThinkLibrary\facade
* @method \DtApp\ThinkLibrary\UnIqId random($size = 10, $type = 1, $prefix = '') static 获取随机字符串编码
* @method \DtApp\ThinkLibrary\UnIqId date($size = 16, $prefix = '') static 唯一日期编码
* @method \DtApp\ThinkLibrary\UnIqId number($size = 12, $prefix = '') static 唯一数字编码
*/
class UnIqId extends Facade
{
protected static function getFacadeClass()
{
return 'DtApp\ThinkLibrary\UnIqId';
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册