package com.pardot.rhombus.cobject.shardingstrategy; import org.joda.time.DateTime; import org.joda.time.DateTimeZone; import org.joda.time.Hours; public class ShardingStrategyHourly extends TimebasedShardingStrategy { public ShardingStrategyHourly(){ } public long getShardKey(long timestamp){ DateTime d = new DateTime(timestamp, DateTimeZone.UTC); DateTime start = new DateTime(2000, 1, 1, 0, 0, 0, 0, DateTimeZone.UTC); int daysSinceEpoch = Hours.hoursBetween(start, d).getHours(); return this.offset + daysSinceEpoch; } }