GRU - Generic Reusable Utilities
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
Functions
gru_time_utils.c File Reference
#include "gru_time_utils.h"

Functions

void gru_time_add_seconds (gru_timestamp_t *t, uint64_t count)
 Copyright 2016 Otavio Rodolfo Piske. More...
 
void gru_time_add_minutes (gru_timestamp_t *t, uint64_t count)
 Add minutes to a timestamp object. More...
 
gru_timestamp_t gru_time_read_str (const char *str)
 Read a string in the format seconds.microseconds and return a struct timeval. More...
 
char * gru_time_write_str (const gru_timestamp_t *t)
 Write a timeval structure to a string. More...
 
gru_timestamp_t gru_time_now ()
 Gets the current moment in time. More...
 
uint64_t gru_time_now_milli ()
 Gets the current moment in time in milliseconds. More...
 
gru_timestamp_t gru_time_from_milli (int64_t timestamp)
 Converts milliseconds since epoch to a timestamp. More...
 
gru_timestamp_t gru_time_from_milli_char (const char *ts)
 Converts an unformatted string of milliseconds since epoch to a timestamp. More...
 
uint64_t gru_time_to_milli (const gru_timestamp_t *ts)
 Converst a timestamp to milliseconds. More...
 

Function Documentation

void gru_time_add_minutes ( gru_timestamp_t t,
uint64_t  count 
)

Add minutes to a timestamp object.

Parameters
ttimestamp
countnumber of minutes to add
void gru_time_add_seconds ( gru_timestamp_t t,
uint64_t  count 
)

Copyright 2016 Otavio Rodolfo Piske.

Add seconds to a timestamp object.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

gru_timestamp_t gru_time_from_milli ( int64_t  timestamp)

Converts milliseconds since epoch to a timestamp.

Parameters
timestampmilliseconds since Epoch
Returns
a timestamp object with the converted data
gru_timestamp_t gru_time_from_milli_char ( const char *  ts)

Converts an unformatted string of milliseconds since epoch to a timestamp.

Parameters
tsA numeric string representing the milliseconds since epoch (ie.: 1484719545264)
Returns
a timestamp object with the parsed data
gru_timestamp_t gru_time_now ( )

Gets the current moment in time.

Returns
a timestamp object with the current point in time
uint64_t gru_time_now_milli ( )

Gets the current moment in time in milliseconds.

Returns
current time in milliseconds since Epoch
gru_timestamp_t gru_time_read_str ( const char *  str)

Read a string in the format seconds.microseconds and return a struct timeval.

The microseconds represents the fraction of the seconds value and should not be equal or greater than 1000000. Otherwise, the code will only consider the first 6 bytes of the microseconds string.

Parameters
strThe string in the format seconds.microseconds
Returns
a timestamp object with the parsed data
Examples:
time/gru_time_conversion_test.c, and time/gru_time_read_test.c.
uint64_t gru_time_to_milli ( const gru_timestamp_t ts)

Converst a timestamp to milliseconds.

Parameters
tsA pointer to a timestamp structure
Returns
the timestamp as a milliseconds since epoch
Examples:
time/gru_time_conversion_test.c.
char* gru_time_write_str ( const gru_timestamp_t t)

Write a timeval structure to a string.

Parameters
tthe timeval structure
Returns
A string that must be free'd after use
Examples:
time/gru_time_read_test.c.