Forum Discussion

CarolineS's avatar
7 years ago

Freemarker "date" to Unix timestamp?

Hi ya'll!

 

I'm attempting to implement a snippet of Javascript code within my community's page wrapper; the snippet requires the user's registration date in 10-digit-timestamp form.

 

I'm able to get user.registrationTime via Freemarker, but this is a string formatted like: "April 9, 2018 12:19:18 PM". Does anyone know how to convert this to a seconds-since-Epoch timestamp? I've searched Google / the Freemarker documentation but haven't found the info I need.

 

Thanks!

- Caroline

 

5 Replies

  • CarolineS's avatar
    CarolineS
    Boss
    7 years ago

    Thank you, DolanH!

     

    Unfortunately, this isn't working for me, as the ?long only works on a number, and the date I'm working with appears to just be a string. 

     

    Here's the error, in case you're curious:

    For "?long" left-hand operand: Expected a number, but this has evaluated to a string (wrapper: f.t.SimpleScalar): ==> user.registrationTime [in template "Hitbox" at line 6, column 53]

    I'll keep working on this!

  • CarolineS's avatar
    CarolineS
    Boss
    7 years ago

    Thank you very much, VikasB! I hadn't found the datesupport library in my searches - how very helpful!

     

    Unfortunately, though, I can't get it to work.

    ${datesupport.parseAsIso8601(user.registrationTime)}

    gives me 

    <div style="font-style: italic; font-weight: lighter; color: darkGrey; background-color: Beige; padding: 10px;" class="lia-widget-not-found">
    	This widget could not be displayed.
    </div>

    Note that

    ${user.registrationTime}

    DOES work to give me the user's registration time (sample result: Tue Mar 20 14:31:45 PDT 2018)

     

    Do I need to do something special to enable datesupport?

     

    Thanks!

  • CarolineS's avatar
    CarolineS
    Boss
    7 years ago

    Ok, so user.registrationTime gives me a string formatted like this: "Wed Jun 14 15:37:14 PDT 2017" - which is not ISO format (example ISO format: 2017-06-14T15:37:14-07:00).

     

    How can I turn the string that user.registrationTime gives me into ISO format (or just directly into milliseconds since the epoch...)