Hi pdfjs team,

Please find attach a really simple pdf file to reproduce the issue.
[Date.pdf](https://github.com/mozilla/pdf.js/files/8242310/Date.pdf)
This pdf contains 4 date fields, One with a default format (dd/mm/yyyy) and the 3 others with custom formats:

    -  dd
    -  mm
    -  yyyy

The expected behavior is that whenever I fill dd field with 16 for instance, then when i focus out that field the value displayed is 16 but I get 01.

This happens for dd field and mm but it's working fine for dd/mm/yyyy and yyyy fields.

The initial values of the pdf are properly displayed, this happens only if I focus one of those fields.

Thank you for your time

Best regards.

});
    describe("scand", function () {
      it("should parse a date according to a format", async () => {
        const date = new Date("Sun Apr 15 2007 03:14:15");
        let value = await myeval(
          `util.scand(0, "D:20070415031415").toString()`
        );
        expect(new Date(value)).toEqual(date);
        value = await myeval(`util.scand(1, "2007.04.15 03:14:15").toString()`);
        expect(new Date(value)).toEqual(date);
        value = await myeval(`util.scand(2, "4/15/07 3:14:15 am").toString()`);
        expect(new Date(value)).toEqual(date);
      });
    });
    describe("printf", function () {
      it("should print some data according to a format", async () => {
        let value = await myeval(
          `util.printf("Integer numbers: %d, %d,...", 1.234, 56.789)`
        );
        expect(value).toEqual("Integer numbers: 1, 56,...");
        value = await myeval(
          `util.printf("Hex numbers: %x, %x,...", 1234, 56789)`
        );
        expect(value).toEqual("Hex numbers: 4D2, DDD5,...");
        value = await myeval(
          `util.printf("Hex numbers with 0x: %#x, %#x,...", 1234, 56789)`
        );
        expect(value).toEqual("Hex numbers with 0x: 0x4D2, 0xDDD5,...");
        value = await myeval(
          `util.printf("Decimal number: %,0+.3f", 1234567.89123)`