c++重载输入运算符遇到问题

c++重载运算符遇到的问题,想要输入2023-02-01格式,输出2023-02-01格式,以下是我重载的输入输出运算符,并不能成功输出,“-”会影响后面数字的值,该如何重载可以忽略“-”的输入,谢谢各位解答

ostream &operator<<(ostream &out, Date &d)
{
    return out << d.year << '-' << d.month << '-' << d.day;
}
istream &operator>>(istream &in, Date &d)
{
    return in >> d.year >> d.month >> d.day;
}

以下是输出结果,首行为输入,末行为输出

arrival on (yyyy-mm-dd): 2022-02-01

CALL CENTER BOOKING REQUEST
1 new reservation request standard
2 new reservation request superior
3 show reservation request
4 show all reservation requests
your choice: 
4
********REQUEST NO:  1********
accomodation at:     DD
number of guests:    1
number of nights:    1
check-in date:       2022-65534-65535

#include <iostream>

auto main() -> int
{
    unsigned year = 0;
    unsigned month = 0;
    unsigned day = 0;
    char chr;

    std::cin >> year >> chr >> month >> chr >> day;

    std::cout << year << '-' << month << '-' << day;

    return 0;
}