Why restrict a holiday to one day when you can extend it over several?

That's the thinking behind Major League Baseball's 2017 holiday uniform program, which was unveiled today. Unlike last year, when special designs came out for one day apiece on Mother's Day, Memorial Day, Father's Day and Independence Day, this year the uniforms will be worn for the full weekends of their respective holidays.

Here's a quick breakdown of the designs and when they'll be worn:

Mother's Day (May 13-14): Until last year, MLB teams had simply worn pink ribbons on their jerseys for Mother's Day. But last year MLB debuted a set of pink-trimmed uniforms. This year's set is similar, with pink graphics on the jerseys and pink-brimmed graphic caps:

Memorial Day (May 27-29): After many years of camouflage-patterned uniforms for Memorial Day, MLB is dialing back the camo this year. Jersey graphics are rendered in military olive, and each team will wear five black stars on the right sleeve (except for the Blue Jays, who will wear five black maple leaves instead), representing the five branches of the United States military. Those stars are repeated on the right side of the caps, which are olive with camouflage brims.

Teams will be wearing these uniforms for all three days of the Memorial Day weekend, which means some clubs will be going from home to the road on Monday (or vice-versa). Those teams will have separate home and road versions of the holiday jerseys.

Father's Day (June 17-18): Just like last year, teams will wear blue-trimmed uniforms (except for the Giants, whose jersey lettering will once again be orange, apparently because they don't want to look too much like their longtime rivals, the Dodgers). Caps are blue with graphite brims.

Independence Day (July 1-4): With the Fourth of July falling on a Tuesday this year, the uniforms for this holiday will be worn for an unprecedented four consecutive days. Just as with the Memorial Day designs, this will necessitate separate home and road jerseys for many teams. Jersey graphics will once again have stars and stripes patterns (except for the Blue Jays, who will wear their red Canada Day jersey on July 1 and 2 and their blue alternate jersey for the rest of the holiday weekend). But the big news is on the caps, which will feature raised "LiquidChrome" logos instead of traditional embroidery.

In addition to the four sets of holiday uniforms, MLB also unveiled the designs for this year's All-Star festivities, which the Marlins will host in July. Batting practice jerseys and caps, which players will wear for the Home Run Derby, are fairly straightforward, with orange jerseys for the National League, blue for the American League and black caps with a floral underbrim pattern for everyone.

As for the All-Star Game itself, this year's caps come in a range of heathered colors that roughly correspond to MLB team colors, with gold team logos and a gold All-Star logo on the side.

All-Star players will once again wear their regular team jerseys but with a new twist: Each player will have a numeric left-sleeve patch indicating how many times he's participated in the Midsummer Classic.

2017 All-Star Game uniform adds star-patch to sleeve with number of ASG appearances, and mismatched palm tree sockshttps://t.co/FIxKFRzMsR pic.twitter.com/l0ZtQtWvTM — Chris Creamer (@sportslogosnet) April 11, 2017

In addition to the new holiday and All-Star jerseys and caps, players who choose to hike up their pant cuffs will be showing new sock designs. The ones for Independence Day are particularly bold, with stars on one leg and stripes on the other.

MLB's share of proceeds from sales of the holiday caps and jerseys will once again be donated to charities devoted to fighting cancer and supporting military veterans.

Paul Lukas writes about uniforms for ESPN.com. If you like this column, you'll probably like his Uni Watch Blog, plus you can follow him on Twitter and Facebook. Want to learn about his Uni Watch Membership Program, be added to his mailing list so you'll always know when a new column has been posted or just ask him a question? Contact him here.