---
name: "pmCtime"
section: "3"
platform: "linux"
package: "pcp"
version: "7.2.2-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/pmCtime"
---

# pmCtime(3)

format the date and time for a reporting timezone

## NAME

**pmCtime** - format the date and time for a reporting timezone

## C SYNOPSIS

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

**char \*pmCtime(const time\_t \****clock***, char \****buf***);**

**cc ... -lpcp**

## DESCRIPTION

**pmCtime** is very similar to [**ctime**(3)](/ctime/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 [**ctime**(3)](/ctime/3.md) the time to be converted is passed via *clock*, and the result in *buf* is fixed width fields in the format:

Fri Sep 13 00:00:00 1986\\n\\0

The result buffer *buf* must be at least 26 bytes long, and no attempt is made to check this. **pmCtime** returns *buf* as the value of the function.

The default current reporting timezone is as defined by the **TZ** environment variable, so **pmCtime** and [**ctime**(3)](/ctime/3.md) will initially produce 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 effect **pmCtime** but not [**ctime**(3)](/ctime/3.md).

## SEE ALSO

[**ctime**(3)](/ctime/3.md), [**PMAPI**(3)](/PMAPI/3.md), [**pmLocaltime**(3)](/pmLocaltime/3.md), [**pmNewContextZone**(3)](/pmNewContextZone/3.md), [**pmNewZone**(3)](/pmNewZone/3.md) and [**pmUseZone**(3)](/pmUseZone/3.md).
