Date1 is the lower date. Date2 is greater. This formula does NOT account for date1 being greater than date2.
Declare @Date1 Datetime
Declare @Date2 Datetime
Select @Date1 = Orders.Prom_Ship_date
Select @Date2 = Orders.Actual_Ship_date
Select datediff(dd,@Date1,@date2),datepart(dd,@date1),datepart(dw,@date1)
--...