DP(8)
β¨ DP(8) β¨
okay bestie, gather round, because we're talking about dp from the nmh squad β she's the parser of RFC 822-style dates and she's lowkey the most underrated little tool in the whole System Manager's Manual lineup. this is section 8, system manager territory, so you know she means business π
πΈ SYNOPSIS πΈ
/usr/libexec/nmh/dp [-help] [-version] [-form formatfile] [-format
string] [-width columns] dates ...
like, she lives at /usr/libexec/nmh/dp and you just hand her some dates ... and she does her thing. there's -help, there's -version, there's -form formatfile, -format string, and -width columns β a whole lil glow-up kit fr fr β¨
π DESCRIPTION π
so dp is a program that parses dates according to the ARPA Internet standard. periodt. but here's the tea β she's not rigid about it, because she also understands many non-standard formats, like the ones produced by TOPS-20 sites and some Unix sites using ctime(3). she's flexible, she's forgiving, she's giving main character energy π¦
and why do you care? because she's useful for seeing how nmh will interpret a date. that's literally her whole vibe check. you feed her a date, she tells you what nmh thinks it means. no cap.
the way she works: dp treats each argument as a single date, and prints the date out in the official RFC 822 format. so heads up bestie β it's usually best to enclose each argument in quotes for the shell, otherwise your shell is gonna eat it before dp ever gets a bite π
wanna override the output format? iconic, go off. you use the -format string or -format file switches. this lets you extract individual fields of the address with ease β the string is simply a format string and the file is simply a format file. all the deets live in mh-format(5), so go read that if you want the full lore π
here's the default format string dp uses:
%<(nodate{text})error: %{text}%|%(putstr(pretty{text}))%>
and what is she even saying with that? okay so: if an error was detected, print the error, a :, and the date in error. Otherwise, output the RFC 822-proper format of the date. she's got range, she's got structure, she ate π
π FILES π
$HOME/.mh_profileβ The user's profile.
π§ PROFILE COMPONENTS π§
None
like... nothing. empty. she's self-sufficient, she doesn't need your profile to slay π
π SEE ALSO π
also, and this is important: Standard for the Format of ARPA Internet Text Messages (RFC 822) β that's the source material, the blueprint, the origin story β
β DEFAULTS β
-formatβ As described above. (iykyk, scroll back up bestie)-widthβ The width of the terminal.
π CONTEXT π
None
yeah. no context. she said "I don't need the drama" and honestly? respect π
πΈ quick reminder from your girl: keep every argument quoted for the shell, and if you're confused about formats, mh-format(5) is right there. no guessing, just vibes and documentation.
and that's the whole page, bestie β this was nmh-1.8, dated 1999-04-30, living under the System Manager's Manual umbrella. she's been iconic since the 90s and she's still parsing dates like it's nothing πβ¨π«Ά
π¦ where this page comes from
- alpine 3.24: nmh-doc 1.8-r3 Β· BSD-3-Clause
- epel 10: nmh 1.8-3.el10_1 Β· BSD
- epel 9: nmh 1.8-1.el9 Β· BSD
- fedora 43: nmh 1.8-9.fc43 Β· LicenseRef-Callaway-BSD
- fedora 44: nmh 1.8-10.fc44 Β· LicenseRef-Callaway-BSD
- opensuse-leap 16.0: nmh 1.8-bp160.1.13 Β· BSD-3-Clause
- opensuse-leap 16.0: nmh 1.8-bp160.1.13 Β· BSD-3-Clause
- opensuse-leap 16.0: nmh 1.8-bp160.1.13 Β· BSD-3-Clause
- opensuse-leap 16.0: nmh 1.8-bp160.1.13 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms