|
5 | 5 | <link href="https://learnbyexample.github.io/atom.xml" rel="self" type="application/atom+xml"/>
|
6 | 6 | <link href="https://learnbyexample.github.io"/>
|
7 | 7 | <generator uri="https://www.getzola.org/">Zola</generator>
|
8 |
| - <updated>2024-07-03T00:00:00+00:00</updated> |
| 8 | + <updated>2024-07-31T00:00:00+00:00</updated> |
9 | 9 | <id>https://learnbyexample.github.io/atom.xml</id>
|
| 10 | + <entry xml:lang="en"> |
| 11 | + <title>Basic examples for the Linux date command</title> |
| 12 | + <published>2024-07-31T00:00:00+00:00</published> |
| 13 | + <updated>2024-07-31T00:00:00+00:00</updated> |
| 14 | + <link rel="alternate" href="https://learnbyexample.github.io/mini/linux-date-command-examples/" type="text/html"/> |
| 15 | + <id>https://learnbyexample.github.io/mini/linux-date-command-examples/</id> |
| 16 | + <content type="html"><p>I rarely ever use the <code>date</code> command, but when I need it I almost always struggle to get the right incantation. So, I'm just going to record such examples in this blog post (and some good to know features).</p> |
| 17 | +<p>There'll also be learning resources linked at the end of the post.</p> |
| 18 | +<br> |
| 19 | +<h2 id="really-basic-examples">Really basic examples</h2> |
| 20 | +<p>The <code>date</code> command by itself shows the current time. But that's rarely what I need, since I could just use the calendar widget at the bottom of my desktop screen. Perhaps useful to copy the string format and modify system time with the <code>-s</code> option?</p> |
| 21 | +<pre data-lang="ruby" style="background-color:#f5f5f5;color:#1f1f1f;" class="language-ruby "><code class="language-ruby" data-lang="ruby"><span style="color:#7f8989;"># use the -u option for UTC (Coordinated Universal Time) |
| 22 | +</span><span>$ date |
| 23 | +</span><span style="color:#5597d6;">Wednesday </span><span style="color:#b3933a;">31 </span><span style="color:#5597d6;">July </span><span style="color:#b3933a;">2024 03</span><span style="color:#72ab00;">:</span><span style="color:#b3933a;">53</span><span style="color:#72ab00;">:</span><span style="color:#b3933a;">01 </span><span style="color:#5597d6;">PM IST |
| 24 | +</span></code></pre> |
| 25 | +<p>Instead, I need particular parts in a particular format. For example, to represent the time component in a dynamically constructed filename as part of a shell script.</p> |
| 26 | +<pre data-lang="ruby" style="background-color:#f5f5f5;color:#1f1f1f;" class="language-ruby "><code class="language-ruby" data-lang="ruby"><span style="color:#7f8989;"># same as: date +%F or date -I |
| 27 | +</span><span>$ date </span><span style="color:#72ab00;">+%</span><span style="color:#5597d6;">Y</span><span style="color:#72ab00;">-%</span><span>m</span><span style="color:#72ab00;">-%</span><span>d |
| 28 | +</span><span style="color:#b3933a;">2024</span><span style="color:#72ab00;">-</span><span style="color:#b3933a;">07</span><span style="color:#72ab00;">-</span><span style="color:#b3933a;">31 |
| 29 | +</span><span> |
| 30 | +</span><span>$ date </span><span style="color:#72ab00;">+%</span><span style="color:#5597d6;">Y</span><span style="color:#c49a39;">/%m/</span><span style="color:#72ab00;">%</span><span>d |
| 31 | +</span><span style="color:#b3933a;">2024</span><span style="color:#72ab00;">/</span><span style="color:#b3933a;">07</span><span style="color:#72ab00;">/</span><span style="color:#b3933a;">31 |
| 32 | +</span><span>$ date </span><span style="color:#72ab00;">+%</span><span>y</span><span style="color:#72ab00;">-%</span><span>m</span><span style="color:#72ab00;">-%</span><span>d |
| 33 | +</span><span style="color:#b3933a;">24</span><span style="color:#72ab00;">-</span><span style="color:#b3933a;">07</span><span style="color:#72ab00;">-</span><span style="color:#b3933a;">31 |
| 34 | +</span><span> |
| 35 | +</span><span style="color:#7f8989;"># use &#39;b&#39; and &#39;B&#39; for month names |
| 36 | +</span><span>$ date </span><span style="color:#72ab00;">+%</span><span>a |
| 37 | +</span><span style="color:#5597d6;">Wed |
| 38 | +</span><span>$ date </span><span style="color:#72ab00;">+%</span><span style="color:#5597d6;">A |
| 39 | +</span><span style="color:#5597d6;">Wednesday |
| 40 | +</span></code></pre> |
| 41 | +<p>You can use <code>%x</code> to get the locale representation:</p> |
| 42 | +<pre data-lang="ruby" style="background-color:#f5f5f5;color:#1f1f1f;" class="language-ruby "><code class="language-ruby" data-lang="ruby"><span>$ date </span><span style="color:#72ab00;">+</span><span style="color:#d07711;">%x |
| 43 | +</span><span style="color:#d07711;">31/07/24 |
| 44 | +</span></code></pre> |
| 45 | +<p>For hours, minutes and seconds:</p> |
| 46 | +<pre data-lang="ruby" style="background-color:#f5f5f5;color:#1f1f1f;" class="language-ruby "><code class="language-ruby" data-lang="ruby"><span style="color:#7f8989;"># same as: date +%T |
| 47 | +</span><span>$ date </span><span style="color:#72ab00;">+%</span><span style="color:#b3933a;">H:</span><span style="color:#72ab00;">%</span><span style="color:#b3933a;">M:</span><span style="color:#72ab00;">%</span><span style="color:#5597d6;">S |
| 48 | +</span><span style="color:#b3933a;">16</span><span style="color:#72ab00;">:</span><span style="color:#b3933a;">00</span><span style="color:#72ab00;">:</span><span style="color:#b3933a;">32 |
| 49 | +</span><span> |
| 50 | +</span><span style="color:#7f8989;"># same as: date +%Y-%m-%dT%H:%M:%S%:z |
| 51 | +</span><span>$ date </span><span style="color:#72ab00;">-</span><span style="color:#5597d6;">Iseconds |
| 52 | +</span><span style="color:#b3933a;">2024</span><span style="color:#72ab00;">-</span><span style="color:#b3933a;">07</span><span style="color:#72ab00;">-</span><span>31T16</span><span style="color:#72ab00;">:</span><span style="color:#b3933a;">09</span><span style="color:#72ab00;">:</span><span style="color:#b3933a;">27</span><span style="color:#72ab00;">+</span><span style="color:#b3933a;">05</span><span style="color:#72ab00;">:</span><span style="color:#b3933a;">30 |
| 53 | +</span></code></pre> |
| 54 | +<br> |
| 55 | +<h2 id="displaying-and-converting-epoch-seconds">Displaying and converting epoch seconds</h2> |
| 56 | +<pre data-lang="ruby" style="background-color:#f5f5f5;color:#1f1f1f;" class="language-ruby "><code class="language-ruby" data-lang="ruby"><span style="color:#7f8989;"># total seconds since the epoch (1970-01-01 00:00:00 UTC) |
| 57 | +</span><span>$ date </span><span style="color:#72ab00;">+</span><span style="color:#d07711;">%s |
| 58 | +</span><span style="color:#d07711;">1722422393 |
| 59 | +</span><span> |
| 60 | +</span><span>$ date </span><span style="color:#72ab00;">-</span><span>d @</span><span style="color:#b3933a;">1722422393 </span><span style="color:#72ab00;">+</span><span style="color:#d07711;">&#39;</span><span style="color:#aeb52b;">%F %T</span><span style="color:#d07711;">&#39; |
| 61 | +</span><span style="color:#b3933a;">2024</span><span style="color:#72ab00;">-</span><span style="color:#b3933a;">07</span><span style="color:#72ab00;">-</span><span style="color:#b3933a;">31 16</span><span style="color:#72ab00;">:</span><span style="color:#b3933a;">09</span><span style="color:#72ab00;">:</span><span style="color:#b3933a;">53 |
| 62 | +</span></code></pre> |
| 63 | +<br> |
| 64 | +<h2 id="resource-links">Resource links</h2> |
| 65 | +<ul> |
| 66 | +<li><a href="https://www.gnu.org/software/coreutils/manual/coreutils.html#date-invocation">GNU date command manual</a></li> |
| 67 | +<li><a href="https://unix.stackexchange.com/questions/tagged/date?tab=Votes">Top voted Q&amp;A on unix.stackexchange for the date command tag</a></li> |
| 68 | +</ul> |
| 69 | +</content> |
| 70 | + </entry> |
10 | 71 | <entry xml:lang="en">
|
11 | 72 | <title>Linux Command Line Computing book announcement</title>
|
12 | 73 | <published>2024-05-29T00:00:00+00:00</published>
|
|
0 commit comments