Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Mismatch between date formatted as string and numeric date

    Dear all,

    I am processing hourly time series data (DD.MM.YYYY hh:mm), where the date variable is formatted as a string and looks the following:

    . list datestring

    datestring

    1. 01.04.2018 00:00
    2. 01.04.2018 01:00
    3. 01.04.2018 02:00
    4. 01.04.2018 03:00
    5. 01.04.2018 04:00


    To convert the string variable into a date variable, I run the following code:

    gen Datetime = clock(datestring, "DMYhm")
    format Datetime %tc



    This is what I get:

    . list Datetime datestring

    +---------------------------------------+
    | Datetime datestring |
    |---------------------------------------|
    1. | 01apr2018 00:00:19 01.04.2018 00:00 |
    2. | 01apr2018 00:59:18 01.04.2018 01:00 |
    3. | 01apr2018 02:00:28 01.04.2018 02:00 |
    4. | 01apr2018 02:59:27 01.04.2018 03:00 |
    5. | 01apr2018 04:00:37 01.04.2018 04:00 |
    +---------------------------------------+



    However, "Datetime" and "datestring" are not equivalent. For example, in row 2 the clock time is 00:59:18, whereas it should be 00:01:00.

    I believe that this "mismatch" stems from the missing seconds in the variable "datestring", but I do not know how to fix this. Any help would be much appreciated!

    Many thanks in advance!

    Mario




  • #2
    See

    Code:
    help precision
    For time variables, you need

    Code:
    gen double Datetime = clock(datestring, "DMYhm")

    Comment


    • #3
      Code:
      help datetime
      gives this advice. It is a formidable help file, but most of what you need to know about dates is in there somewhere. or a link is given. The main exceptions are to do with weeks, which seemingly you don't have to worry about.

      Comment


      • #4
        Dear Nick and Andrew,
        Thank you indeed!
        Best,
        Mario

        Comment

        Working...
        X