RSSPHP

Format Date trong Javascript

Trong lập trình web bạn thường gặp các vấn đề về ngày tháng năm và cách sử lý theo một dạng nhất định. Ví dụ như định dạng theo dd/mm/yyyy hay dd/mm/yyyy. Hôm nay, chúng ta cùng tìm hiểu cách format data trong javascript theo dạng ISO 8601

 

1. Giới thiệu

Trong lập trình web bạn thường gặp các vấn đề về ngày tháng năm và cách sử lý theo một dạng nhất định. Ví dụ như định dạng theo dd/mm/yyyy hay dd/mm/yyyy. Hôm nay, chúng ta cùng tìm hiểu cách format data trong javascript theo dạng ISO 8601

2. Thiết kế

Thiết kế một giao diện gồm

  • Textbox có id là txtText
  • Button có kiểu button và trong function onclick gọi hàm DateISO()
ISO: <input type="text" id="txtText" />
<button type="button" onclick="DateISO()">ISO</button>

format1

3. Coding

Viết function tên là DateISO() như sau:

Viết function tên là DateISO() như sau:

  <script type="text/javascript"  language="javascript">
  function DateISO() {
  var dt = new  Date();
  // get month and increment
  var mnth = dt.getUTCMonth();
  mnth++;
  var day = dt.getUTCDate();
  if (day < 10) day = "0" + day;
  var yr = dt.getUTCFullYear();
  var hrs = dt.getUTCHours();
  if (hrs < 10) hrs = "0" + hrs;
  var min = dt.getUTCMinutes();
  if (min < 10) min = "0" + min;
  var secs = dt.getUTCSeconds();
  if (secs < 10) secs = "0" + secs;
  var newdate = yr + "-" + mnth + "-"  + day + "T" + hrs + ":" + min + ":"  + secs + "Z";
  document.getElementById('txtText').value  = newdate;
  }
  </script>
  

4. Giải thích

  • Khai báo một đối tượng Date trong javascript
var dt = new Date();
  • Khai báo đối tượng tháng
var mnth = dt.getUTCMonth();
mnth++;
  • Và ngày
var day = dt.getUTCDate();
  • Nếu ngày nhỏ hơn 10 thì thêm số 0 vào trước
if (day < 10) day = "0" + day;
  • Khai báo năm đầy đủ
var yr = dt.getUTCFullYear();
  • Khai báo giờ
var hrs = dt.getUTCHours();
if (hrs < 10) hrs = "0" + hrs;
  • Khai báo phút
var min = dt.getUTCMinutes();
if (min < 10) min = "0" + min;
  • Tương tự khai báo cho giây
var secs = dt.getUTCSeconds();
if (secs < 10) secs = "0" + secs;
  • Kết quả trả về cho biến newdate
var newdate = yr + "-" + mnth + "-" + day + "T" + hrs + ":" + min + ":" + secs + "Z";

format2

GV Hồ Đức Duy

Tags:

Nếu bạn thấy bài viết hữu ích, hãy nhấn +1 và các liên kết chia sẻ để website ngày càng phát triển hơn. Xin cám ơn bạn!

Nếu là khách, bạn phải đăng ký tài khoản và kích hoạt tài khoản để bình luận được hiển thị ở đây.
Thông tin kích hoạt gửi đến mail của bạn.

Tin mới hơn

Tin cũ hơn

Lên trên đầu