- vừa được xem lúc

Cách sử dụng class Time & Date trong Ruby (Phần 1)

0 0 97

Người đăng: Vũ Minh Tiến

Theo Viblo Asia

Time là một class trong Ruby, nó sẽ giúp chỉnh sửa format, trích xuất thông tin một cách hiệu quả theo ý của bạn.

Sau bài đọc này, bạn có thể tìm hiểu mọi thứ bạn cần để trở thành Doraemon quản lý cỗ máy thời gian :v Just kidding ?

  • Topic hôm nay chúng ta có gì nào
    • Làm thế nào để convert một chuỗi tring thành một đối tượng thời gian(Time object)?
    • Làm thế nào để break down thời gian từ các thành phần có sẵn(day, hour, milliseconds...v.v)?
    • Làm thế nào để sử dụng Date, Datetime & Time Class trong Ruby?
    • Làm thế nào để format time theo bất cứ cách nào bạn muốn?

Okayyy, Let's get started ?

Time class trong Ruby

Bạn có thể sử dụng Time class trong Ruby để đại diện cho time & date

Date thì có 3 thành phần phải không nào:

  • day
  • month
  • year

time

  • hours
  • minutes
  • seconds

Thông tin này được lưu trữ bởi Time class dưới dạng số giây kể từ Kỷ nguyên, hay còn được gọi là Unix time.

Bạn cố thể tạo một đối tượng Time bằng những cách sau:

  • Bạn có thể lấy một đối tượng đại diện cho thời gian hiện tại bằng cách sử dụng Time.now. Lưu ý thời gian này sẽ tương ứng với zone hiện tại theo server của bạn. Ví dụ như server của mình đang bên Nhật thì Time.now sẽ tương ứng với múi giờ +9 của Nhật.

  • Bạn có thể tạo một đối tượng Time sử dụng dấu thời gian Unix và phương thức at
  • Bạn có thể cung cấp ngày bắt đầu làm tham số bằng cách khởi tạo đối tượng [Time.new](http://time.new) theo (format: year/month/day)

Ví tờ dụ sẽ như thế này

Ngoài ra bạn có thể lấy thông tin của ngày, tháng, giờ bằng cách sử dụng day,month,hour

Bạn có thể kiểm tra "Hôm nay có phải là chủ nhật không?" bằng cách sử dụng phương thức chủ nhật?

Mình đùa đấy, đừng làm điều dại dột thế nhé :v

Bạn có thể sử dụng hàm như .monday?, .sunday?, .friday?..v.v. ⇒ Sẽ trả về giá trị true, false tương ứng.

Time Zones

Một đối tượng Time sẽ có một múi giờ tương ứng với nó

Bạn có thể kiểm tra múi giờ hiện tại cho đối tượng Time của mình bằng cách sử dụng hàm zone

Bạn có thể xem các múi giờ viết tại tại link này time zone abbreviation

Ví dụ ảnh trên của mình đang là JST là viết tắt của từ Japan Standard Time và có múi giờ +09 theo chuẩn quốc tế.

Ruby Time Formatting

Ruby sẽ format đối tượng Time theo một cách mặc định

Nếu bạn không muốn default như thế? Bạn muốn hiển thị giờ theo tiếng Việt, Nhật, Ả rập thì phải làm sao??

Phương thức strftime sẽ là thứ giúp bạn giúp bạn thay đổi format hầu hết các định dạng bạn cần.

Nó làm việc bằng cách truyền vào một chuỗi string với các mã định dạng, các mã định dạng này sẽ được thay thế bằng một giá trị.

Bạn có thể thấy, phương thức này rất linh hoạt phải không nào. Bạn có thể nhận được thời gian không có ngày hoặc ngày được định dạng độc đáo với năm, ngày và tên của tháng hiện tại.

Bạn có thể tìm kiếm các format có sẵn dưới đây:

Phần 1 của mình tạm thời kết thúc tại đây. Phần 2 mình sẽ giới thiệu cho các bạn về class Date trong Ruby, thêm và trừ thời gian, thay đổi format Date & Time, ActiveSupport – Time & Date Methods...v.v

Cùng đón chờ nhé ?, đừng quên comment phía dưới nếu có thắc mắc hoặc góp ý cho mình. Mình rất mong chờ những góp ý của các bạn để có thể cải thiện ở những bài viết sau ❤️

We learn, we share together !

Bình luận

Bài viết tương tự

- vừa được xem lúc

Bài toán tìm đường đi ngắn nhất với giải thuật Dijkstra

Với các bạn sinh viên chuyên ngành công nghệ thông tin, chắc không lạ gì với bài toán tìm đường đi ngắn nhất (Shortest Path Problems) trong đồ thị trọng số nữa. Ở bài viết lần này, mình sẽ làm 3 việc:.

0 0 135

- vừa được xem lúc

Tôi cá là bạn không biết những điều này - Ruby on rails ( Phần 2)

Các bạn có thể theo dõi phần 1 ở đây :. https://viblo.asia/p/toi-ca-la-ban-khong-biet-nhung-dieu-nay-ruby-on-rails-phan-1-WAyK8DDeKxX. 5.

0 0 222

- vừa được xem lúc

Những thay đổi trong ruby 3.0

. 2020 là một năm lớn đối với cộng đồng Ruby. Những người sáng lập Ruby có một món quà thực sự tuyệt vời cho chúng ta vào giáng sinh với việc phát hành Ruby 3.

0 0 47

- vừa được xem lúc

Có gì đặc biệt trong phiên bản Ruby 3x3 ?

Hello guys, chắc hẳn thời gian vừa rồi chúng ta cũng đã nghe qua thông tin Ruby sắp cho ra mắt Ruby version 3, hay còn được gọi là ruby 3x3, vậy liệu Ruby version 3 này có gì mới, và có những update nào đáng phải kể đến, và tại sao mọi người lại gọi nó là ruby version 3x3, thì trong bài ngày hôm nay

0 0 43

- vừa được xem lúc

Ruby 3.0 có gì mới

Ruby 3.0.0 đã được ra mới được ra mắt vào tháng 12/2020, mục tiêu của bản 3.0.

0 0 41

- vừa được xem lúc

Gửi mail với Ruby

Giả sử bạn có một ứng dụng Ruby đang hoạt động và cần thêm chức năng gửi email vào ứng dụng đó. Điều này có thể liên quan đến xác thực người dùng hoặc bất kỳ loại email giao dịch nào khác, nó không có gì khác biệt.

0 0 43