Преглед на файлове

Add snowflake id service

Daniel Supernault преди 4 години
родител
ревизия
c0076ab035
променени са 1 файла, в които са добавени 18 реда и са изтрити 0 реда
  1. 18 0
      app/Services/SnowflakeService.php

+ 18 - 0
app/Services/SnowflakeService.php

@@ -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;
+	}
+
+}