//********************************************************* // // Copyright (c) Microsoft. All rights reserved. // THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF // ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY // IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR // PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT. // //********************************************************* #pragma once // Functions to convert dates back and forth to the ISO8601 format // (http://www.iso.org/iso/en/prods-services/popstds/datesandtime.html) // // Supported dates are from 1601-01-01 (SYSTEMTIME and FILETIME limitation) to // 9999-12-31 (ISO8601 limitation) // Longest form of ISO8601 is 40 chars + 1 for terminating zero #define ISO8601_MAX_CCH 41 // Iso8601ParsingStage enum // // This enumeration is design so values can be compared. // ISO8601 dates look like this: YYYY-MM-DDThh:mm:ss.sss+/-hh:mm // So e.g. by parsing the date and then asking if parse stage was //