---
name: "pmconverttime"
section: "3"
platform: "linux"
package: "libpcp3-dev"
version: "3.9.10"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/__pmConvertTime"
---

# pmconverttime(3)

convert tm structure to timeval structure

Part of [\_\_pmConvertTime(3)](/__pmConvertTime/3.md).

## NAME

**\_\_pmConvertTime** - convert **tm** structure to **timeval** structure

## C SYNOPSIS

**#include \<pcp/pmapi.h\>**\
 **#include \<pcp/impl.h\>**

**int \_\_pmConvertTime(struct tm \****tmin***, struct timeval \****origin***, struct timeval \****rslt***);**

**cc ... -lpcp**

## DESCRIPTION

**\_\_pmConvertTime** accepts a **tm** structure that has been filled in by [**\_\_pmParseCtime**(3)](/__pmParseCtime/3.md) and a reference time point **origin**, and fills in the given **rslt** structure with the time the user meant when he specified a partial **ctime** or positive or negative time **interval**.

Typically, the argument **origin** is the start time for a PCP archive log, unless the user specified a negative **interval** offset, in which case it is the end time of the log.

**\_\_pmConvertTime** returns 0 if successful.   It returns -1 and writes an error message to **stderr**, if an error is detected.

Use [**pmNewZone**(3)](/pmNewZone/3.md), [**pmNewContextZone**(3)](/pmNewContextZone/3.md) or [**pmUseZone**(3)](/pmUseZone/3.md) to establish a new current timezone that will effect **\_\_pmConvertTime**.

## SEE ALSO

[**PMAPI**(3)](/PMAPI/3.md), [**pmNewContextZone**(3)](/pmNewContextZone/3.md), [**pmNewZone**(3)](/pmNewZone/3.md), [**pmParseInterval**(3)](/pmParseInterval/3.md), [**pmParseTimeWindow**(3)](/pmParseTimeWindow/3.md), [**pmUseZone**(3)](/pmUseZone/3.md), [**\_\_pmParseCtime**(3)](/__pmParseCtime/3.md) and [**\_\_pmParseTime**(3)](/__pmParseTime/3.md).
