You can hold a futures contract until its expiration date, which is typically set by the exchange it's traded on and can range from a single day to multiple years. The actual duration varies depending on the specific commodity being traded.