^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,cSupport
Every documented parameter renders the same output Labelary produces.
Labelary renders this command.
Parameters
aPrimary clock indicatoroptional · single characterCharacter 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 characterIndicator 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 characterIndicator 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
%wconversion numbers the weekdays Monday 1 to Sunday 7, not the CstrftimeSunday 0: Sunday 12 November 2023 prints7(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
Related commands
^SOSet Offset (for Real-Time Clock)Defines the secondary or tertiary clock as a fixed offset from the primary one, for a second time zone or an expiry date.^STSet Date and Time (for Real-Time Clock)Sets the printer's primary clock to an explicit date and time.^FDField DataSupplies the text or barcode content of the field.^SLSet Mode and Language (for Real-Time Clock)Chooses which moment the clock reports, and the language of its month and day names.