Xuất giá trị ngày ra excel



  • By default, January 1, 1900 is serial number 1, and January 1, 2008 is serial number 39448 because it is 39,447 days after January 1, 1900.
    (https://support.office.com/en-us/article/DATEVALUE-function-df8b07d4-7761-4a93-bc33-b7471bbff252)
    Giá trị ngày trong excel là số ngày bắt đầu tính từ ngày 01-01-1900

    Mình có một phép tính như thế này, cho ra kết quả hơi bất thường, nhờ mọi người giải đáp giúp.

    var d0 = new Date('1900-01-01 00:00:00');
    var d1 = new Date('1900-01-01 00:00:00');
    var d2 = new Date('2016-10-09 00:00:00');

    var excel_d1 = (d1 - d0) / (24 * 60 * 60 * 1000) + 1; // đổi từ số mili giây sang số ngày
    var excel_d2 = (d2 - d0) / (24 * 60 * 60 * 1000) + 1; // đổi từ số mili giây sang số ngày

    Kết quả:
    excel_d1 = 1 <=> giá trị ngày trong excel là 01/01/1900
    excel_d2 = 42651 <=> giá trị ngày trong excel là 08/10/2016 ? - kết quả mong muốn là 09/10/2016.

    • . ^
    0

Log in to reply