Generate a Unix timestamp-based UUID v7 with millisecond precision, ideal for database primary keys.
Code
Utilitiesrequire 'securerandom'
timestamp = (Time.now.to_f * 1000).to_i
rand_a = SecureRandom.random_number(0xfff)
rand_b = SecureRandom.random_number(2**62)
return '%08x-%04x-7%03x-%04x-%012x' % [
timestamp >> 16,
timestamp & 0xffff,
rand_a,
(rand_b >> 48) | 0x8000,
rand_b & 0xffffffffffff
]Server
More Ruby Snippets
Generate UUID v1
Generate a time-based UUID v1 using timestamp and random node ID.
Generate UUID v3
Generate a name-based UUID v3 using MD5 hashing of namespace and name.
Generate UUID v4
Generate a random UUID v4 (Universally Unique Identifier).
Generate UUID v5
Generate a name-based UUID v5 using SHA-1 hashing of namespace and name.
Generate UUID v6
Generate a reordered time-based UUID v6 with improved sortability for databases.
Array Difference
Find elements in the first array that are not present in the second array.