zpl.tools
Fields

^FC - Field Clock

Marks characters in the field data as real-time-clock placeholders.

^FC names the characters that introduce a date or time placeholder in the field data that follows, so a label can print the current date and time. ^FC applies to one field: repeat it before every ^FD that contains a placeholder. A printer without real-time-clock hardware ignores the command and prints the placeholders unchanged.

Syntax

^FCa,b,c

Support

Supportedparsed: full · state: full · rendered: full

Every documented parameter renders the same output Labelary produces.

Labelary renders this command.

Parameters

aPrimary clock indicatoroptional · single character

Character that marks a clock placeholder in the following ^FD, so %d becomes the day of the month.

Default
% (percent)
Invalid value
discarded, and the default applies
Test coverage
The invalid-value rule is pinned by 1 test.
bSecondary clock indicatoroptional · single character

Indicator for the printer's second real-time clock.

Default
none, which disables the second clock
Invalid value
discarded, and the default applies
Test coverage
The invalid-value rule is pinned by 2 tests, including the diagnostic it emits.
cThird clock indicatoroptional · single character

Indicator for the printer's third real-time clock.

Default
none, which disables the third clock
Invalid value
discarded, and the default applies
Test coverage
The invalid-value rule is not pinned by a test.

Behavior

An indicator marks the character after it as a field of the clock value, as strftime does: with the default %, %m/%d/%y prints as 07/29/26, and %H:%M prints the time. The printer prints everything else in the field data literally, so a field can mix text, punctuation and placeholders.

A printer can have more than one clock, so ^FC takes three indicators. The second and third have no default, and an unspecified indicator makes that clock unreachable in the field. All three must differ. ^FD treats the indicator as ordinary field data, so the character must be one the data does not contain. % is the conventional choice.

The renderer does not parse ^FC, so the placeholders reach the label as text: a field of %m/%d/%y prints those seven characters. Labelary substitutes the current date and time (verified 2026-07-30). This is one of the few divergences visible on an ordinary text label.

Known issues

Tested behavior

Differences from the specification

Labelary against the ZPL II guide

Where Labelary — our compatibility target — behaves differently from the printed specification.

  • The %w conversion numbers the weekdays Monday 1 to Sunday 7, not the C strftime Sunday 0: Sunday 12 November 2023 prints 7 (measured 2026-08-16). Both engines agree. — not pinned by a test

Example

The guide's three indicators, with the primary clock supplying a date and a time:

^XA
^FO50,30^A0N,30,30^FC%,{,#
^FDdate %m/%d/%y time %H:%M^FS
^XZ

Open in viewer