<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Mar 4, 2014 at 8:28 AM, Victor Julien <span dir="ltr"><<a href="mailto:victor@inliniac.net" target="_blank">victor@inliniac.net</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="">On 03/04/2014 03:06 PM, Victor Julien wrote:<br>

> On 03/02/2014 12:12 AM, Brian Rectanus wrote:<br>
>> Use an iso timestamp. At least something sortable with yyyy-mm-dd.<br>
>><br>
>> 2011-12-22T22:25:52.921841Z<br>
><br>
> Any suggestions on how to generate this string? Was looking at strftime,<br>
> but since it uses "struct tm" it seems to use a max precision of a second.<br>
><br>
> I can of course easily generate the above string myself, however the ISO<br>
> 8601 format seems take into account timezones and all, and I don't want<br>
> to implement all that logic manually.<br>
<br>
</div>If I ignore that timezone stuff for now, this is an example of what it<br>
would look like:<br>
<br>
{"time":"2014-02-07T17:15:28.972757Z",...<br>
<br>
Code:<br>
<br>
static void CreateTimeStringISO(struct timeval *tv, char *buffer, size_t<br>
buflen)<br>
{<br>
    char local_buf[64];<br>
    time_t time = tv->tv_sec;<br>
    struct tm local_tm;<br>
    struct tm *t = (struct tm*)SCLocalTime(time, &local_tm);<br>
<br>
    strftime(local_buf, sizeof(local_buf), "%FT%T", t);<br>
    snprintf(buffer, buflen, "%s.%06uZ", local_buf, (uint32_t)tv->tv_usec);<br>
}<br>
<br>
Thoughts?<br>
<div class=""><div class="h5"><br></div></div></blockquote><div><br></div><div>Yes, you could ignore timezone and use Z (UTC time, e.g., short for -0000) if you use gm time vs local time.</div><div><br></div><div>-B</div>
</div></div></div>