DAVdroid 1.10.1.1 REV date-time format for 3.0 vcards



  • Hi,

    when changing a contact stored in vcard version 3.0, DAVdroid uses a wrong timestamp format in the REV field.
    Example:
    Expected format (https://tools.ietf.org/html/rfc2426#section-3.6.4) : REV:2018-03-21T08:48:10Z
    Actual format (DAVdroid 1.10.1.1): REV:20180321T084810Z

    DAVdroid seems to use the vcard 2.1 time stamp format for 3.0 vcards.

    (issue was present as well in 1.9.7)


  • developer

    https://tools.ietf.org/html/rfc2426#section-3.6.4

    Type name: REV
    Type value: The default is a single date-time value. Can also be reset to a single date value.

    https://tools.ietf.org/html/rfc2425#section-5.8.4

    "date", "time", and "date-time": Each of these value types is based on a subset of the definitions in ISO 8601 standard. Profiles MAY place further restrictions on "date" and "time" values. Multiple "date" and "time" values can be specified using the comma-separated notation, unless restricted by a profile.

    Examples for "date-time":
    1996-10-22T14:00:00Z
    1996-08-11T12:34:56Z
    19960811T123456Z
    1996-10-22T14:00:00Z,1996-08-11T12:34:56Z

    (note the bold text)

    I don't see any error here. Please provide more details about why you think the used date-time format is wrong.



  • You're right. Sorry, I missed that section 5.8.4 declares the format w/o hyphens and colons valid as well. VCard offers way too many formats to express the same thing...
    Topic can be closed.


  • developer

    @lje If you need to parse vCards, I strongly recommend to use a specialized library so that you don't have to deal with those details (and there are many of them). DAVdroid uses the great library ez-vcard for that purpose.