Biden, in what he called “one of the greatest honors” of his presidency, signed the bill two days before Juneteenth itself, which is on June 19 each year.
“We have come far, and we have far to go. But today is a day of celebration,” said Vice President Kamala Harris, who spoke before the president at the signing event in the White House.
“Great nations don’t ignore their most painful moments,” Biden told the East Room crowd, which included dozens of politicians, activists and community leaders. “They embrace them.”
“I regret that my grandchildren aren’t here, because this is a really, really, really important moment in our history,” the president said.
“In short, this day doesn’t just celebrate the past. It calls for action today.”
Most federal workers will observe Juneteenth on Friday this year because June 19 falls on a Saturday. The New York Stock Exchange will not close for Juneteenth this year, but will evaluate closing markets for the holiday in 2022, according to the exchange.
Juneteenth National Independence Day will become the 12th legal public holiday, including Inauguration Day, and the first new one created since Martin Luther King Jr. Day was signed into law in 1983 by then-President Ronald Reagan.
Juneteenth celebrates the emancipation of the last enslaved African Americans. On that day in 1865, Union soldiers led by Gen. Gordon Granger arrived in the coastal city of Galveston, Texas, to deliver General Order No. 3, officially ending slavery in the state.
The final act of liberation came months after the Confederate army’s surrender ended the Civil War, and more than two years after President Abraham Lincoln issued the Emancipation Proclamation.
Lincoln was assassinated on April 15, 1865, two months before his proclamation made it to Texas.
The holiday legislation passed this week with overwhelming support in both chambers of Congress. The Senate approved the bill unanimously Tuesday night, and the House passed it in a 415-14 vote. The only votes against the bill came from Republicans.
On the House floor before the vote, some GOP lawmakers complained about the name of the holiday, and others expressed concern about the cost of giving the federal workforce another day off. Some also railed against Democrats for pushing the bill to a vote without first allowing committees to examine the legislation and offer amendments.
Still, most House Republicans, even those who objected to parts of the bill, ended up voting for it.
The Juneteenth legislation was sponsored in the Senate by Edward Markey, D-Mass. The House version, sponsored by Rep. Sheila Jackson Lee, D-Texas, was co-sponsored by 166 lawmakers.
The 14 no votes were:
- Rep. Mo Brooks, R-Ala.
- Rep. Andy Biggs, R-Ariz.
- Rep. Scott DesJarlais, R-Tenn.
- Rep. Tom Tiffany, R-Wis.
- Rep. Doug LaMalfa, R-Calif.
- Rep. Mike Rogers, R-Ala.
- Rep. Ralph Norman, R-S.C.
- Rep. Chip Roy, R-Texas
- Rep. Paul Gosar, R-Ariz.
- Rep. Tom McClintock, R-Calif.
- Rep. Matt Rosendale, R-Mont.
- Rep. Ronny Jackson, R-Texas
- Rep. Thomas Massie, R-Ky.
- Rep. Andrew Clyde, R-Ga.
— CNBC’s Bob Pisani contributed to this report