PMPARSECTIME(3)

πŸ“¦
version 7.2.2 Β· 3 versions
, in arch rolling, centos-stream 10, fedora 43, fedora 44, ubuntu resolute, ubuntu stonking

πŸ’– NAME πŸ’–

__pmParseCtime β€” bestie, this one takes a ctime(3) string and turns it into a tm structure ✨

This page lives in the PMPARSECTIME(3) chapter of the Library Functions Manual, iykyk πŸŽ€


🌸 C SYNOPSIS 🌸

#include "pmapi.h"
#include "libpcp.h"

int __pmParseCtime(const char *string, struct tm *rslt, char **errmsg);
cc ... -lpcp

🚨 CAVEAT 🚨

Okay so listen, this documentation is for internal Performance Co-Pilot (PCP) developer use only, fr fr.

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. So like, don't build your whole personality on them, bestie πŸ’…


✨ DESCRIPTION ✨

__pmParseCtime is literally the reverse of the asctime(3) function. It accepts a string specifying a time, and fills in the given tm structure. No cap 🫢

string is either:

  • a fully specified date and time in the format Day MMM DD HH:MM:SS YYYY (e.g. "Mon Mar 4 13:07:47 1996"), or
  • a partially specified date and time, like "1996", "Mar 1996", "Mar 4 1996", "Mar", "13:07:47", "13:07", "Mar 4 13:07:47", ....

For a partially specified date and time, the order of the fields must be preserved and the missing fields get filled in from the current date and time πŸ•°οΈβœ¨

The seconds component (SS) may be a floating point number, for example the time "13:07:47.5" πŸ“ The 12 hour clock is also supported, so "13:07" and "1:07 pm" are equivalent. Iconic behaviour honestly πŸ‘‘

__pmParseCtime returns 0 if successful. It returns -1 and a dynamically allocated error message string in errmsg if the given string does not parse. Be sure to free(3) the error message string, or you will leak, and we don't do that πŸ’€

⚠️ The tm structure returned in rslt should only be used as an argument to either the __pmtimevalConvert function or the __pmtimespecConvert function, as it contains encoded information that will only be correctly interpreted by these routines. Do not freestyle with it, bestie, it will not go well 😭

πŸ” SEE ALSO πŸ”

PMAPI(3), __pmtimespecConvert(3), __pmtimevalConvert(3), __pmtimespecParse(3) __pmtimevalParse(3) and pmParseInterval(3) πŸ’œ


And that's the whole vibe, babes πŸ¦‹ β€” this page came to you straight out of Performance Co-Pilot (PCP), and the page you're reading is PMPARSECTIME(3). Go parse some timestamps, you absolute main character πŸ‘‘πŸ’–

πŸ“¦ where this page comes from