Làm thế nào để bạn chuyển đổi dấu thời gian thành carbon?

Thao tác ngày và giờ là một trong số ít những thách thức thường gặp khi phát triển ứng dụng web bằng PHP. Và một trong những vấn đề phổ biến nhất là xác định chênh lệch thời gian và làm cho chúng có thể đọc được, chẳng hạn như "một giờ trước"

Tuy nhiên, việc xử lý ngày và giờ cũng như các vấn đề như thế này được đơn giản hóa rất nhiều bằng cách sử dụng Carbon; . Điều này là do Carbon, được tạo bởi Brian Nesbit, mở rộng lớp DateTime của PHP và làm cho việc sử dụng nó đơn giản hơn nhiều

Nếu bạn chưa từng nghe nói về nó trước đây, thì nó được tự mô tả là

Một tiện ích mở rộng API PHP cơ bản cho DateTime

Trong hướng dẫn này, bạn sẽ tìm hiểu các tính năng và khả năng cốt lõi của Carbon, mang lại cho bạn khả năng thao tác ngày và giờ dễ dàng hơn nhiều trong PHP

điều kiện tiên quyết

Để làm theo hướng dẫn này, bạn cần các thành phần sau

  • PHP7. 4 hoặc cao hơn
  • Trình soạn nhạc được cài đặt trên toàn cầu

Cài đặt

Để cài đặt Carbon, trước tiên hãy tạo một thư mục dự án mới có tên carbon, thay đổi thư mục và cài đặt gói bằng cách thực hiện các lệnh sau

mkdir carbon
cd carbon
composer require nesbot/carbon

Carbon đã được bao gồm nếu bạn đang sử dụng Laravel. Nếu là bạn, hãy xem các cài đặt Laravel được đề xuất và các phương pháp hay nhất. Nếu bạn đang sử dụng Symfony, hãy xem cấu hình Symfony và nguyên tắc thực hành tốt nhất

Định dạng ngày tháng bằng Carbon

Với Carbon được cài đặt, trong trình chỉnh sửa hoặc IDE của bạn, hãy tạo một tệp PHP mới, có tên là chỉ mục. php trong thư mục gốc của thư mục dự án của bạn. Sau đó, thêm mã dưới đây để lập chỉ mục. php để bao gồm tệp Trình tải tự động của Trình soạn thảo, nhà cung cấp/tự động tải. php và lớp lõi của Carbon đã nhập

In ngày

Bây giờ Carbon đã được cài đặt, hãy bắt đầu làm việc với một số ví dụ, bắt đầu với điều cần thiết nhất. in ra một số ngày. Để làm điều đó, chúng tôi sẽ sử dụng

7 để truy xuất ngày hôm nay qua Carbon, bạn có thể xem trong ví dụ bên dưới

Thêm nó vào chỉ mục. php và sau đó chạy nó

2021-10-25 00:00:00

Đầu ra, mà bạn có thể xem ví dụ ở trên, trả về ngày hiện tại, với thời gian trống. Tuy nhiên, nếu bạn cập nhật chỉ mục. php để sử dụng

8 thay vào đó, bạn có thể thấy trong ví dụ bên dưới, bạn có thể truy xuất thời gian cùng với ngày tháng

Sau khi cập nhật chỉ mục. php và chạy nó, bạn sẽ thấy đầu ra tương tự như ví dụ bên dưới, trong thiết bị đầu cuối của bạn

2021-01-25 22:49:56

Trái ngược với

9 trả về ngày và giờ hiện tại và
0 chỉ trả về ngày hiện tại,
1 và
2 lần lượt tạo ra các phiên bản Carbon cho ngày hôm qua và ngày mai, như trong các ví dụ bên dưới.
3,
4,
5 và
6 là những ví dụ về trình trợ giúp khởi tạo tĩnh phổ biến

6

Tạo ngày với độ chính xác

Carbon cũng cho phép chúng tôi tạo ngày và giờ dựa trên một bộ tham số. Ví dụ: để tạo một phiên bản

7 mới cho một ngày cụ thể, hãy sử dụng phương thức
8, chuyển vào năm, tháng, ngày và múi giờ, như trong ví dụ sau

9

Bạn cũng có thể chỉ định thời gian, bằng cách gọi

9, chuyển qua năm, tháng, ngày, múi giờ, giờ, phút và giây, như trong ví dụ sau

1

Nếu bất kỳ một hoặc nhiều

2021-10-25 00:00:00
0,
2021-10-25 00:00:00
1,
2021-10-25 00:00:00
2,
2021-10-25 00:00:00
3,
2021-10-25 00:00:00
4 hoặc
2021-10-25 00:00:00
5 được đặt thành
2021-10-25 00:00:00
6 thì các giá trị tương đương
2021-10-25 00:00:00
7 của chúng sẽ được sử dụng. Tuy nhiên, nếu
2021-10-25 00:00:00
3 không phải là
2021-10-25 00:00:00
6 thì giá trị mặc định cho
2021-10-25 00:00:00
4 và
2021-10-25 00:00:00
5 sẽ là
2. Nếu bạn chuyển vào
2021-10-25 00:00:00
6 cho bất kỳ thuộc tính nào trong số đó, nó sẽ mặc định là ngày và giờ hiện tại

Cập nhật chỉ mục. php trong trình chỉnh sửa hoặc IDE của bạn để khớp mã bên dưới và chạy nó để xem ví dụ về tất cả các chức năng này

6

Hàm

4 trong biến đầu tiên tạo một thể hiện
7 từ các thành phần ngày và giờ;

Một đối tượng Carbon được xây dựng bằng cách sử dụng các thành phần ngày tháng với

8 khi khởi tạo biến thứ ba và thứ tư. Làm như vậy sẽ tạo ra một phiên bản
7 chỉ dựa trên một ngày

Cần chỉ ra rằng nếu không có múi giờ nào được chỉ định, thì múi giờ mặc định của bạn sẽ được sử dụng. Tuy nhiên, nếu múi giờ khác múi giờ của bạn được chỉ định, thì thời gian thực của múi giờ đó sẽ được cung cấp. Thời gian hiện tại được đặt trong phần thời gian

Biến cuối cùng, được khởi tạo bằng cách sử dụng

8, tạo ngày dựa trên dấu thời gian

Công cụ sửa đổi tương đối

Một tính năng tuyệt vời khác của Carbon là công cụ sửa đổi tương đối. Những điều này cho phép các chuỗi như "thứ sáu tới" hoặc "một năm trước" được sử dụng khi xây dựng các trường hợp

7 liên quan đến ngày hiện tại

Sau đây là ví dụ về các chuỗi được coi là công cụ sửa đổi tương đối

  • 2021-01-25 22:49:56
    
    0
  • 2021-01-25 22:49:56
    
    1
  • 2021-01-25 22:49:56
    
    2
  • 2021-01-25 22:49:56
    
    3
  • 2021-01-25 22:49:56
    
    4
  • 2021-01-25 22:49:56
    
    5
  • 2021-01-25 22:49:56
    
    6
  • 2021-01-25 22:49:56
    
    7
  • 2021-01-25 22:49:56
    
    8

Sửa đổi ngày giờ

Khi làm việc với ngày, bạn sẽ cần làm nhiều việc hơn là chỉ lấy ngày và giờ. Bạn cũng sẽ thường xuyên phải sửa đổi ngày hoặc giờ, chẳng hạn như thêm một ngày hoặc một tuần hoặc trừ đi một tháng

Một ví dụ điển hình về việc cần chức năng này là khi xây dựng một chương trình liên kết. Trong trường hợp này, bạn sẽ muốn cookie liên kết mà người dùng nhận được hết hạn sau một khoảng thời gian nhất định, làm cho lượt giới thiệu không hợp lệ

Giả sử một cookie có tuổi thọ 90 ngày. Với các phương pháp

2021-01-25 22:49:56
9 và
60 của Carbon, chúng ta có thể tính toán thời gian đó khá đơn giản. Ví dụ bên dưới sử dụng
61 để xác định thời điểm cookie hết hạn

0

Nó cũng sử dụng một số phương pháp

62 và
63 khác. Nếu bạn đang thêm một ngày duy nhất, chẳng hạn như một ngày, bạn sẽ sử dụng
64, nhưng nếu bạn đang thêm nhiều ngày, bạn sẽ sử dụng
61. Sử dụng các phương pháp cộng và trừ của Carbon có thể cung cấp cho bạn ngày và giờ đã điều chỉnh

Nhìn về phía trước và trở lại

Carbon cũng cung cấp các hàm

66 và
67 trả về các lần xuất hiện sắp tới và trước đó của một ngày trong tuần cụ thể, bạn có thể xem ví dụ về mã này trong mã bên dưới

1

Định dạng ngày và giờ

Tuy nhiên, một tùy chọn tuyệt vời khác mà Carbon cung cấp là khả năng định dạng ngày và giờ theo bất kỳ định dạng nào bạn muốn. Vì Carbon là phiên bản mở rộng của các hàm ngày và giờ tích hợp sẵn trong PHP, nên Carbon có thể sử dụng các định dạng ngày tháng tích hợp sẵn của PHP thông qua hàm

68. Ngoài ra, các phương thức
69 có sẵn để hiển thị ngày và giờ với định dạng được xác định trước

2

Các phương thức định dạng ngày giờ điển hình khác có sẵn cho Carbon bao gồm các phương thức sau

3

Tính thời gian tương đối

Các hàm

90 trong Carbon cũng cho phép chúng ta biểu diễn thời gian dưới dạng tương đối. Sự khác biệt về ngày giờ thường được hiển thị ở định dạng được gọi là nhân hóa, chẳng hạn như trong một năm hoặc ba phút trước

Giả sử chúng ta đang phát triển tiện ích mở rộng cho một CMS blog và chúng ta muốn hiển thị thời gian xuất bản của bài báo tính bằng "giờ trước" hoặc thời gian xuất bản bình luận tính bằng "giờ trước"

Đầu tiên, thời gian và ngày bài báo được xuất bản, cũng như các thông số khác, sẽ được ghi lại trong một trường cơ sở dữ liệu. Do đó, chúng tôi trích xuất ngày từ cơ sở dữ liệu ở định dạng

91 và lưu trữ nó trong một biến. Hãy gọi nó là
92

4

Nếu ngày trong cơ sở dữ liệu của chúng tôi là ngày 4 tháng 8 năm 2021, chẳng hạn như trong ví dụ bên dưới, bạn sẽ sử dụng hàm

93 để tạo ngày Carbon, sau đó sử dụng
90 để tìm sự khác biệt

5

Nếu ngày được lưu dưới dạng dấu thời gian, bạn có thể gọi

8. Carbon cũng cung cấp dịch vụ dịch thuật cho người dùng. Vì vậy, nếu trang web của bạn sử dụng tùy chọn ngôn ngữ của người dùng, hãy gọi ngôn ngữ. Ví dụ: nếu bạn có một người dùng nói tiếng Pháp, tất cả những gì bạn phải làm là gọi hàm trước mã, như được thấy bên dưới

6

Ví dụ: đầu ra trong trường hợp này sẽ là 'il y a 2 mois'

Đó là cốt lõi của việc quản lý ngày giờ trong PHP bằng Carbon

Trong hướng dẫn này, bạn đã học cách cài đặt Carbon và chức năng cốt lõi của nó. Tuy nhiên, Carbon có nhiều chức năng hơn những gì đã được trình bày trong hướng dẫn này. Hãy xem tài liệu của họ nếu bạn muốn tìm hiểu thêm về chức năng có sẵn

Prosper Ugbowo là nhà phát triển ứng dụng web chuyên về các ứng dụng web lớn nhưng đơn giản. Bài viết của anh ấy cố gắng đạt được sự cân bằng giữa tính hướng dẫn và đáp ứng nhu cầu công nghệ - nhưng không bao giờ phải trả giá bằng việc đọc thú vị

Đánh giá bài viết này

1 2 3 4 5

tác giả

  • Ugbovo thịnh vượng

người phản biện

  • Làm thế nào để bạn chuyển đổi dấu thời gian thành carbon?
    Matthew Setter


bài viết liên quan

Làm thế nào để bạn chuyển đổi dấu thời gian thành carbon?

Giúp đỡ những người giúp đỡ những người khác

Ngày 06 tháng 12 năm 2022

Trong hướng dẫn này, bạn sẽ học cách xây dựng một ứng dụng để giúp mọi người nhanh chóng quyên góp cho các tổ chức từ thiện và phi lợi nhuận bằng Slim Framework, Vue. js và Tailwind CSS

Làm thế nào để bạn chuyển đổi dấu thời gian thành carbon?

Học ngôn ngữ Maasai theo cách thú vị

Ngày 20 tháng 10 năm 2022

Trong hướng dẫn này, bạn sẽ xây dựng một ứng dụng giúp bạn học ngôn ngữ Maasai một cách dễ dàng và thú vị với WhatsApp

Làm thế nào để bạn chuyển đổi dấu thời gian thành carbon?

Pub/Sub trong Laravel - Hiểu biết sâu sắc

Ngày 20 tháng 10 năm 2022

Trong hướng dẫn này, bạn sẽ tìm hiểu về Pub/Sub, một mẫu thiết kế phần mềm hướng thông báo và cách triển khai nó trong Laravel

Làm thế nào để bạn chuyển đổi dấu thời gian thành carbon?

Xây dựng trình rút ngắn URL của riêng bạn với PHP và PostgreSQL

Ngày 06 tháng 10 năm 2022

Trong hướng dẫn này, bạn sẽ học cách xây dựng trình rút ngắn URL của riêng mình bằng PHP và PostgreSQL

Làm thế nào để bạn chuyển đổi dấu thời gian thành carbon?

Phát triển ứng dụng Symfony bằng Svelte và Webpack Encore để quản lý lịch sử tin nhắn Twilio của bạn

Ngày 27 tháng 9 năm 2022

Trong bài viết này, bạn sẽ học cách phát triển ứng dụng với Svelte, Webpack Encore và Symfony có thể tương tác với lịch sử tin nhắn Twilio của bạn

Làm thế nào để bạn chuyển đổi dấu thời gian thành carbon?

Xây dựng trạm thời tiết của riêng bạn với PHP, Python và Raspberry Pi - Phần II

Ngày 08 tháng 9 năm 2022

Trong phần thứ hai của loạt bài này, bạn sẽ tìm hiểu cách thêm khả năng gửi thông báo tóm tắt hàng ngày qua cả SMS và email bằng API Twilio và SendGrid cho trạm thời tiết dựa trên Raspberry Pi

Carbon bây giờ trở lại là gì?

Cacbon. bây giờ trả về ngày và giờ hiện tại và Carbon. hôm nay trả về ngày hiện tại. Đây là một đầu ra mẫu. Carbon. ngày hôm qua tạo một phiên bản Carbon cho ngày hôm qua và Carbon. ngày mai cho ngày mai.

Nesbot Carbon là gì?

Một tiện ích mở rộng API cho DateTime hỗ trợ 281 ngôn ngữ khác nhau .

Làm thế nào để sử dụng Carbon trong laravel?

Hầu hết các ứng dụng web yêu cầu phải hoạt động với ngày và giờ. Ứng dụng web được phát triển bởi khung Laravel sử dụng tiện ích mở rộng API đơn giản để hoạt động với ngày và giờ có tên là Carbon . Gói PHP này có thể xử lý thời gian và múi giờ dễ dàng hơn trong dự án Laravel.

Làm cách nào để có được thời gian ngày Carbon trong laravel?

Laravel Carbon Lấy ví dụ về ngày giờ hiện tại .
Laravel Carbon Ngày Giờ Hiện Tại. sử dụng Carbon \ Carbon; . .
Laravel Carbon Ngày hiện tại. sử dụng Carbon \ Carbon;.
Thời gian hiện tại của Laravel Carbon. sử dụng Carbon \ Carbon;.
Laravel Carbon Ngày/Tháng/Năm Hiện Tại. sử dụng Carbon \ Carbon;