Browse Source

added SnowflakeTimestamp utility function to obtain the creation date of a discord snowflake ID

necro 6 years ago
parent
commit
e3acfe56f0
1 changed files with 17 additions and 0 deletions
  1. 17 0
      util.go

+ 17 - 0
util.go

@@ -0,0 +1,17 @@
+package discordgo
+
+import (
+	"strconv"
+	"time"
+)
+
+// SnowflakeTimestamp returns the creation time of a Snowflake ID relative to the creation of Discord.
+func SnowflakeTimestamp(ID string) (t time.Time, err error) {
+	i, err := strconv.ParseInt(ID, 10, 64)
+	if err != nil {
+		return
+	}
+	timestamp := (i >> 22) + 1420070400000
+	t = time.Unix(timestamp/1000, 0)
+	return
+}