Add snowflake id service

This commit is contained in:
Daniel Supernault 2021-01-12 21:50:45 -07:00
parent a443694dc0
commit c0076ab035
No known key found for this signature in database
GPG key ID: 0DEF1C662C9033F7

View file

@ -0,0 +1,18 @@
<?php
namespace App\Services;
use Illuminate\Support\Carbon;
class SnowflakeService {
public static function byDate(Carbon $ts = null)
{
$ts = $ts ? now()->parse($ts)->timestamp : microtime(true);
return ((round($ts * 1000) - 1549756800000) << 22)
| (1 << 17)
| (1 << 12)
| 0;
}
}