tstamp ( ';' DATEFORMAT ( ';' TIMEZONE ( ';' LONG )? )? )?
Macro
Summary
The tstamp macro creates a formatted timestamp string using a custom date format pattern, timezone, and optional timestamp value.
Syntax
${tstamp[;<format>[;<timezone>[;<millis>]]]}
Parameters
format(optional) - Date format pattern (default: “yyyyMMddHHmm”)timezone(optional) - Timezone ID (default: “UTC”)millis(optional) - Timestamp in milliseconds (default: current time)
Behavior
- Formats current time by default
- Uses SimpleDateFormat patterns
- Default format: “yyyyMMddHHmm”
- Default timezone: UTC
- All parameters are optional
Examples
Default format (UTC):
${tstamp}
# Returns: "202411201030" (example)
Custom format:
${tstamp;yyyy-MM-dd HH:mm:ss}
# Returns: "2024-11-20 10:30:45"
With timezone:
${tstamp;yyyy-MM-dd HH:mm;America/New_York}
# Returns: "2024-11-20 05:30"
ISO 8601 format:
${tstamp;yyyy-MM-dd'T'HH:mm:ss'Z'}
# Returns: "2024-11-20T10:30:45Z"
Specific timestamp:
${tstamp;yyyy-MM-dd;;1700000000000}
# Formats the provided timestamp
Build timestamp in manifest:
Build-Timestamp: ${tstamp;yyyy-MM-dd HH:mm:ss z;UTC}
Use Cases
- Creating build timestamps
- Generating unique version qualifiers
- Formatting dates for manifests
- Creating timestamped file names
- Documentation generation
- Build reproducibility tracking
Notes
- Uses Java SimpleDateFormat patterns
- Default timezone is UTC
- For current time in millis, use
${currenttime} - For conversion from millis, use
${long2date} - Format patterns are locale-independent
- Common patterns: yyyy (year), MM (month), dd (day), HH (hour 24), mm (minute), ss (second)
- See also:
${currenttime},${long2date},${now}
See test cases in MacroTestsForDocsExamples.java
