---
name: "pmlocaltime"
section: "3"
platform: "linux"
package: "libpcp3-dev"
version: "4.3.2+really4.3.1-0.1"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/pmLocaltime"
---

# pmlocaltime(3)

convert the date and time for a reporting timezone

Part of [pmLocaltime(3)](/pmLocaltime/3.md).

## NAME

**pmLocaltime** - convert the date and time for a reporting timezone

## C SYNOPSIS

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

**struct tm \*pmLocaltime(const time\_t \****clock***, struct tm \****result***);**

**cc ... -lpcp**

## DESCRIPTION

**pmLocaltime** is very similar to [**localtime**(3)](/localtime/3.md), except the timezone used is the current \`\`reporting timezone'' (rather than the default **TZ** environment variable scheme), and the result is returned into a caller-declared buffer (rather than a private buffer).

Like [**localtime**(3)](/localtime/3.md) the time to be converted is passed via *clock*, and  the *result* contains the components broken out in the elements of the *tm* struct.

**pmLocaltime** returns *result* as the value of the function.

The default current reporting timezone is as defined by the **TZ** environment variable, so **pmLocaltime** and [**localtime**(3)](/localtime/3.md) will initially produce a similar encoding of the date and time.

Use [**pmNewZone**(3)](/pmNewZone/3.md), [**pmNewContextZone**(3)](/pmNewContextZone/3.md) or [**pmUseZone**(3)](/pmUseZone/3.md) to establish a new current reporting timezone that will affect **pmLocaltime** but not [**localtime**(3)](/localtime/3.md).

## SEE ALSO

[**localtime**(3)](/localtime/3.md), [**PMAPI**(3)](/PMAPI/3.md), [**pmCtime**(3)](/pmCtime/3.md), [**pmGetConfig**(3)](/pmGetConfig/3.md), [**pmNewContextZone**(3)](/pmNewContextZone/3.md), [**pmNewZone**(3)](/pmNewZone/3.md), [**pmUseZone**(3)](/pmUseZone/3.md), [**pcp.conf**(5)](/pcp.conf/5.md) and [**pcp.env**(5)](/pcp.env/5.md).
