Skip to main content

Working with time specifications

Learn how to specify time ranges flexibly using absolute and relative times.

Absolute Times​

Use ISO 8601 format for specific dates and times:

msg.startTime = "2024-11-20T08:00:00Z";
msg.endTime = "2024-11-20T17:00:00Z";

With timezone offset:

msg.startTime = "2024-11-20T08:00:00+01:00";

Relative Times​

Current Time​

msg.endTime = "now";

Time Ago​

msg.startTime = "1 hour ago";
msg.startTime = "30 minutes ago";
msg.startTime = "2 days ago";
msg.startTime = "1 week ago";

Common Patterns​

Last Hour​

msg.startTime = "1 hour ago";
msg.endTime = "now";

Last 24 Hours​

msg.startTime = "24 hours ago";
msg.endTime = "now";

Last Week​

msg.startTime = "7 days ago";
msg.endTime = "now";

Yesterday (Full Day)​

const yesterday = new Date();
yesterday.setDate(yesterday.getDate() - 1);
yesterday.setHours(0, 0, 0, 0);

const endOfYesterday = new Date(yesterday);
endOfYesterday.setHours(23, 59, 59, 999);

msg.startTime = yesterday.toISOString();
msg.endTime = endOfYesterday.toISOString();

This Week (Monday to Now)​

const now = new Date();
const monday = new Date(now);
monday.setDate(now.getDate() - now.getDay() + 1);
monday.setHours(0, 0, 0, 0);

msg.startTime = monday.toISOString();
msg.endTime = "now";

Business Hours Today​

const today = new Date();
const start = new Date(today);
start.setHours(8, 0, 0, 0);

const end = new Date(today);
end.setHours(17, 0, 0, 0);

msg.startTime = start.toISOString();
msg.endTime = end.toISOString();

Dynamic Time Ranges​

User-Selected Range​

// msg.payload from UI contains days back
const daysBack = msg.payload || 7;
msg.startTime = `${daysBack} days ago`;
msg.endTime = "now";
return msg;

Rolling Window​

// Keep last N hours
const hoursBack = 4;
msg.startTime = `${hoursBack} hours ago`;
msg.endTime = "now";
return msg;

Tips​

  • Use relative times for dynamic, recurring queries
  • Use absolute times for reports on specific periods
  • Always specify both startTime and endTime
  • Be aware of timezone differences with absolute times
  • Use "now" for real-time ending points