SQL与PHP语法转换 日期转int

 日期转 int / float

select CAST(GETDATE() AS FLOAT)

等同于: 

        $baseDate = strtotime('1900-01-01'); // 获取"1900-01-01"的时间戳
        $now = time(); // 获取当前时间戳

        $diff = $now - $baseDate; // 计算当前时间与"1900-01-01"之间的时间差(以秒为单位)

        echo (float) $diff / 86400;
select CAST(CAST(GETDATE() AS FLOAT) AS INT)

等同于: 

1、

        $baseDate = Carbon::create(1900, 1, 1); // 创建 Carbon 对象,表示"1900-01-01"
        $now = Carbon::now()->addDay(); // 获取当前时间对应的 Carbon 对象
        $diffInDays = $now->diffInDays($baseDate); // 计算当前时间与"1900-01-01"之间的天数差
        echo $diffInDays.PHP_EOL; // 输出日期的天数差

2、 

        $baseDate = strtotime('1900-01-01'); // 获取"1900-01-01"的时间戳
        $now = time(); // 获取当前时间戳
        $diff = $now - $baseDate; // 计算当前时间与"1900-01-01"之间的时间差(以秒为单位)
        echo intval ($diff / 86400) .PHP_EOL;

3、

        $baseDate = strtotime('1900-01-01'); // 获取"1900-01-01"的时间戳
        $now = time(); // 获取当前时间戳
        $diff = $now - $baseDate; // 计算当前时间与"1900-01-01"之间的时间差(以秒为单位)

        $dateString = date('Y-m-d', $now); // 将当前时间戳格式化为"Y-m-d"格式的日期字符串
        $dateTimestamp = strtotime($dateString); // 将日期字符串转换为时间戳
        $intValue = intval(($dateTimestamp - $baseDate) / 86400); // 计算当前日期与"1900-01-01"之间的天数差,并将其转换为整数

int / float 转日期

方法1:SELECT CAST(45066.567326389 AS DateTime);
方法2:SELECT CONVERT(INT, CONVERT(DATETIME, '2023-09-01'));    // 指定日期
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值