---
name: "sttime"
section: "3"
platform: "linux"
package: "atfs-dev"
version: "1.4pl6-15+b1"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/sttime"
---

# sttime(3)

date and time handling

## NAME

stMktime, stWriteTime - date and time handling

## SYNOPSIS

\#include \<config.h\>\
 \#include \<sttk.h.h\>

time\_t	stMktime (char \*string);

char\*	stWriteTime (time\_t date);

## DESCRIPTION

*stMktime* scans the given *string* and tries to read a date and time from it. It understands various formats of date strings. The following is a list of all valid formats, optional parts in brackets.

- \[Tue\] Jan 5\[,\] \[19\]93

  This includes the standard [asctime(3)](/asctime/3.md) format.

- Jan 5

  With no year given, the year defaults to the current year.

- \[19\]93/01/05

  This notation requires month and day represented by exactly two digits.

- 5\.1.\[19\]93

  This is the usual German notation.

- 5\.1.

  German notation referencing the current year.

A certain time, given together with the date must always have the following form.

- hours:minutes\[:seconds\]

  Each of the fields must be an integer value within the proper range (hours: 0-23, minutes and seconds: 0-59). Values below 10 may be written as one digit numbers.

The time value may be placed anywhere in the date string: at the beginning, at the end, or somewhere in the middle. Any amount of whitespace may be given between a field of the time value and the separating colon. The time is always considered to be local time.

*stWriteTime* generates a time string similar to [asctime(3)](/asctime/3.md) from its *date* argument.

## SEE ALSO

[asctime(3)](/asctime/3.md)

## BUGS

Time Zone Names within the time string (like \`MET') are not handled properly. In most cases they will cause a failure.
