Skip to main content

ResQ.Protocols.ProtocolExtensions

ProtocolExtensions.ToUnixMs(this DateTimeOffset) Method

Converts a System.DateTimeOffset to a Unix timestamp in milliseconds.
public static long ToUnixMs(this System.DateTimeOffset dateTime);

Parameters

dateTime System.DateTimeOffset The date and time to convert.

Returns

System.Int64
The Unix timestamp in milliseconds since January 1, 1970 UTC.

Example

// Convert current time
var now = DateTimeOffset.UtcNow;
var timestamp = now.ToUnixMs();

// Set protobuf timestamp field
protoMessage.TimestampMs = timestamp;

// Convert specific time
var eventTime = new DateTimeOffset(2024, 1, 1, 0, 0, 0, TimeSpan.Zero);
var eventTimestamp = eventTime.ToUnixMs(); // 1704067200000

Remarks

This method converts a System.DateTimeOffset to Unix time in milliseconds, which is commonly used in protobuf messages, JSON APIs, and JavaScript interop. The conversion accounts for the offset and returns the UTC-based timestamp.