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

# \_\_pmMktime(3)

convert a tm structure to a calendar time

## NAME

**\_\_pmMktime** - convert a **tm** structure to a calendar time

## C SYNOPSIS

**#include \<time.h\>**\
 **#include "pmapi.h"**\
 **#include "libpcp.h"**

**time\_t \_\_pmMktime(struct tm \****timeptr***);**

**cc ... -lpcp**

## CAVEAT

This documentation is intended for internal Performance Co-Pilot (PCP) developer use.

These interfaces are not part of the PCP APIs that are guaranteed to remain fixed across releases, and they may not work, or may provide different semantics at some point in the future.

## DESCRIPTION

**\_\_pmMktime** is very similar to [**mktime**(3)](/mktime/3.md), except the timezone used is the current \`\`reporting timezone'' (rather than the default **TZ** environment variable scheme).

Like [**mktime**(3)](/mktime/3.md) the time to be converted is passed via *timeptr*, and the function result contains the calendar time (the number of seconds since 00:00:00 UTC, January 1, 1970).

The default current reporting timezone is as defined by the **TZ** environment variable, so **\_\_pmMktime** and [**mktime**(3)](/mktime/3.md) will initially produce similar conversions.

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 **\_\_pmMktime** but not [**mktime**(3)](/mktime/3.md).

## SEE ALSO

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