Định dạng ngày tháng trong Bash
Trong chủ đề này, chúng ta sẽ tìm hiểu về các tùy chọn định dạng ngày có sẵn cho lệnh date và hiểu cách sử dụng chúng trong các tập lệnh Bash.
Ngày trong Bash
Shell Bash cung cấp các lệnh date khác nhau cùng với các tùy chọn định dạng khác nhau. Chúng ta có thể sử dụng những lệnh đó để định dạng ngày trong Bash thành một định dạng mong muốn.
Lệnh date trong Bash
Chúng ta có thể sử dụng lệnh “date” để hiển thị hoặc thay đổi giá trị ngày và giờ hiện tại của hệ thống. Chúng ta có thể in ra giá trị ngày và giờ trong các định dạng khác nhau bằng cách sử dụng lệnh date. Chúng ta cũng có thể sử dụng lệnh này để tính toán các nhiệm vụ liên quan đến giá trị ngày và giờ. Nếu lệnh “date” được sử dụng mà không có bất kỳ tùy chọn nào, thì nó sẽ in ra giá trị ngày và giờ của hệ thống hiện tại. Lệnh này chứa một số tùy chọn định dạng để định dạng đầu ra.
Cú pháp của lệnh date được đưa ra dưới đây:
$ date
Định dạng ngày tháng trong Bash với các tùy chọn
Như chúng ta đã thảo luận ở trên, chúng ta có thể định dạng ngày tháng trong Bash. Chúng ta cũng có thể sử dụng khoảng trống với định dạng mà bạn sẽ sử dụng.
Lệnh date chấp nhận các tùy chọn nếu được cung cấp như:
$ date +<format-option-codes><format-option-codes>
Nếu chúng ta muốn định dạng ngày với khoảng trắng, chúng ta có thể sử dụng cú pháp sau:
$ date '+<format-option-codes><format-option-codes> <format-option-codes>'
Danh sách các lựa chọn định dạng ngày tháng trong Bash
Các định dạng tùy chọn được sử dụng để định dạng ngày tháng nằm trong tùy chọn của lệnh date
. Các tùy chọn này cho phép chúng ta định dạng ngày và giờ theo cách mong muốn. Dưới đây là một danh sách các tùy chọn và mã định dạng phổ biến để sử dụng với lệnh date
:
Tùy chọn:
- -d hoặc -date = Chuỗi: được sử dụng để hiển thị thời gian được đặt bởi giá trị Chuỗi.
- -s, -set = Chuỗi: được sử dụng để đặt thời gian bằng giá trị Chuỗi.
- -f hoặc -file = NgàyFile: được sử dụng để xử lý nhiều ngày.
- -I hoặc -iso-8601 [= Timespec]: được sử dụng để tạo ra chuỗi ngày / giờ tuân thủ ISO 8601.
- -r hoặc -reference = File: được sử dụng để in thời gian sửa đổi cuối cùng của một file.
- -u, -utc, -universal: được sử dụng để in hoặc đặt giờ thế giới phối hợp.
- -help: được sử dụng để lấy trợ giúp cho lệnh này.
- -version: được sử dụng để lấy thông tin phiên bản.
Mã định dạng tùy chọn được sử dụng để định dạng ngày và giờ theo định dạng mong muốn.
%a | Ngắn gọn tên thứ trong tuần | Sun, Mon, Tue… |
%A | Tên đầy đủ của thứ trong tuần | Sunday, Monday, Tuesday… |
%b | Ngắn gọn tên tháng | Jan, Feb, Mar… |
%B | Tên đầy đủ của tháng | January, February, March… |
%c | Ngày và giờ được định dạng cho ngôn ngữ cụ thể | Wed Oct 26 07:45:59 EDT 2022 |
%C | Hiển thị thế kỷ (the century number) | 20 |
%d | Ngày trong tháng | 01, 02, 03… |
%D | Ngày tháng năm định dạng theo chuẩn MM/DD/YY | 12/23/21 |
%e | Ngày trong tháng, bao gồm cả khoảng trống | 1, 2, 3… |
%F | Ngày tháng năm định dạng theo chuẩn YYYY-MM-DD | 2021-12-23 |
%g | Hiển thị số năm 2 chữ số (00-99) trong chu kỳ của tuần | 22 |
%G | Hiển thị số năm 4 chữ số (0000-9999) trong chu kỳ của tuần | 2022 |
%h | Tên ngắn gọn của tháng (tương đương với %b) | Jan, Feb, Mar… |
%H | Giờ trong ngày (dạng 24 giờ) | 00, 01, 02…23 |
%I | Giờ trong ngày (dạng 12 giờ) | 01, 02, 03…12 |
%j | Ngày trong năm (001-366) | 001, 002, 003… |
%k | Giờ trong ngày (dạng 24 giờ), bao gồm cả khoảng trống | 0, 1, 2…23 |
%l | Giờ trong ngày (dạng 12 giờ), bao gồm cả khoảng trống | 1, 2, 3…12 |
%m | Số tháng (01-12) | 01, 02, 03… |
%M | Số phút trong giờ | 00, 01, 02…59 |
%n | Xuống dòng | |
%N | Số nanosecond hiện tại | 732177000 |
%p | Buổi sáng hoặc tối | AM hoặc PM |
Chúng ta có thể sử dụng bất kỳ định dạng nào được đề cập ở trên (cột đầu tiên) cho lệnh date theo yêu cầu.
Ví dụ: Định dạng Bash Date MM-DD-YYYY
Để sử dụng ngày tháng năm theo định dạng MM-DD-YYYY, chúng ta có thể sử dụng lệnh date +%m-%d-%Y.
Chương trình Bash Script:
#!/bin/bash
d=`date +%m-%d-%Y`
echo "Date in format MM-DD-YYYY"
echo $d #MM-DD-YYYY
Kết quả
Rất quan trọng để lưu ý rằng các mã tùy chọn định dạng là phân biệt chữ hoa và thường. Trong ví dụ này, chúng tôi đã sử dụng %m cho tháng, %d cho ngày và %Y cho năm. Nếu chúng tôi sử dụng %M thay cho %m, thì nó sẽ xác định phút.
Để sử dụng ngày tháng trong định dạng MM-YYYY, chúng ta có thể sử dụng lệnh date +%m-%Y.
Chương trình Bash Script:
#!/bin/bash
d=`date +%m-%Y`
echo "Date in format MM-YYYY"
echo $d # MM-YYYY
Kết quả
Để sử dụng ngày tháng trong định dạng Weekday DD-Month, YYYY, chúng ta có thể sử dụng lệnh date +%A %d-%B, %Y.
Chương trình Bash Script tương ứng như sau:
#!/bin/bash
d=`date '+%A %d-%B, %Y'`
echo "Date in format Weekday DD-Month, YYYY"
echo $d # Weekday DD-Month, YYYY
Kết luận
Như vậy ở trong chủ đề này, chúng ta đã thảo luận về các tùy chọn định dạng ngày tháng có sẵn và một số ví dụ minh họa về cách sử dụng chúng.