Some hams you buy do not require cooking before eating, or they just require you to warm them up, but this isn’t the case with a fresh ham. And between all the types of ham the cooking time will vary.
A fresh ham is not cured, smoked or cooked, so you have to cook it. Since it is not cured, smoked, or cooked it is going to take a bit longer to cook. Fresh hams usually come whole bone-in, whole boneless, or half bone-in. Since the weight and whether or not it has a bone comes into play, the cooking time will vary with these as well.
A fresh ham should be cooked to an internal temperature of 160F. They typical temperature for cooking a ham in the oven is at 325F. At 325F you should cook a half, bone-in fresh ham for 35-40 minutes per pound. They typical weight for a bone-in half ham is 5-8lbs.
A whole, bone-in fresh ham should be cooked for 22-26 minutes per pound, whereas a whole, boneless will need to be cooked at 24-28 minutes per pound. The bone-in and boneless whole fresh hams typically weigh in at between 10-16lbs.
Instead of cooking your fresh ham in the oven, you can also try grilling it. Grilling a ham brings out a ton of flavor, it is great way to cook a fresh ham.