Làm thế nào để Carbon có được tên ngày từ ngày?

Bạn có thể tạo vòng lặp for giống như vòng lặp bên dưới và lặp qua Carbon trừ đi ngày dựa trên lần lặp hiện tại. Điều này sẽ thêm mỗi ngày vào một biến $day, nhưng bạn có thể kết hợp điều này nếu cần

for ($i = 1; $i < 7; $i++) {
    $day[] = Carbon::now()->subDays($i)->format('D');
}

Đăng nhập để tham gia vào chủ đề này

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 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

<?php 

require 'vendor/autoload.php';

use Carbon\Carbon;

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

<?php 

require 'vendor/autoload.php';

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

<?php

require __DIR__ . "/vendor/autoload.php";

echo carbon::today() . "\n";

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

<?php 

require 'vendor/autoload.php';

use Carbon\Carbon;
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

<?php

require __DIR__ . "/vendor/autoload.php";

$now = carbon::now()
echo "$now\n";

Sau khi cập nhật chỉ số. 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

________số 8

Trái ngược với

<?php 

require 'vendor/autoload.php';

use Carbon\Carbon;
9 trả về ngày và giờ hiện tại và
<?php

require __DIR__ . "/vendor/autoload.php";

echo carbon::today() . "\n";
0 chỉ trả về ngày hiện tại,
<?php

require __DIR__ . "/vendor/autoload.php";

echo carbon::today() . "\n";
1 và
<?php

require __DIR__ . "/vendor/autoload.php";

echo carbon::today() . "\n";
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.
<?php

require __DIR__ . "/vendor/autoload.php";

echo carbon::today() . "\n";
3,
<?php

require __DIR__ . "/vendor/autoload.php";

echo carbon::today() . "\n";
4,
<?php

require __DIR__ . "/vendor/autoload.php";

echo carbon::today() . "\n";
5 và
<?php

require __DIR__ . "/vendor/autoload.php";

echo carbon::today() . "\n";
6 là những ví dụ về các trình trợ giúp khởi tạo tĩnh phổ biến

mkdir carbon
cd carbon
composer require nesbot/carbon
7

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

<?php

require __DIR__ . "/vendor/autoload.php";

echo carbon::today() . "\n";
7 mới cho một ngày cụ thể, hãy sử dụng phương thức
<?php

require __DIR__ . "/vendor/autoload.php";

echo carbon::today() . "\n";
8, chuyển vào năm, tháng, ngày và múi giờ, như trong ví dụ sau

<?php 

require 'vendor/autoload.php';

use Carbon\Carbon;
0

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

<?php

require __DIR__ . "/vendor/autoload.php";

echo carbon::today() . "\n";
9, chuyển qua năm, tháng, ngày, múi giờ, giờ, phút và giây, như trong ví dụ sau

<?php 

require 'vendor/autoload.php';

use Carbon\Carbon;
2

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

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à
<?php

require __DIR__ . "/vendor/autoload.php";

$now = carbon::now()
echo "$now\n";
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

<?php 

require 'vendor/autoload.php';

use Carbon\Carbon;
7

Hàm

<?php

require __DIR__ . "/vendor/autoload.php";

$now = carbon::now()
echo "$now\n";
4 trong biến đầu tiên tạo một thể hiện
<?php

require __DIR__ . "/vendor/autoload.php";

echo carbon::today() . "\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 với

<?php

require __DIR__ . "/vendor/autoload.php";

echo carbon::today() . "\n";
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
<?php

require __DIR__ . "/vendor/autoload.php";

echo carbon::today() . "\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

<?php

require __DIR__ . "/vendor/autoload.php";

$now = carbon::now()
echo "$now\n";
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

<?php

require __DIR__ . "/vendor/autoload.php";

echo carbon::today() . "\n";
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à
mkdir carbon
cd carbon
composer require nesbot/carbon
70 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
mkdir carbon
cd carbon
composer require nesbot/carbon
71 để xác định thời điểm cookie hết hạn

<?php 

require 'vendor/autoload.php';

use Carbon\Carbon;
0

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

mkdir carbon
cd carbon
composer require nesbot/carbon
72 và
mkdir carbon
cd carbon
composer require nesbot/carbon
73 khác mà Carbon cung cấp. 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
mkdir carbon
cd carbon
composer require nesbot/carbon
74, nhưng nếu bạn đang thêm nhiều ngày, bạn sẽ sử dụng
mkdir carbon
cd carbon
composer require nesbot/carbon
71. 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

mkdir carbon
cd carbon
composer require nesbot/carbon
76 và
mkdir carbon
cd carbon
composer require nesbot/carbon
77 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

<?php 

require 'vendor/autoload.php';

use Carbon\Carbon;
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 của 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

mkdir carbon
cd carbon
composer require nesbot/carbon
78. Ngoài ra, có sẵn các phương thức
mkdir carbon
cd carbon
composer require nesbot/carbon
79 để hiển thị ngày và giờ với định dạng được xác định trước

<?php 

require 'vendor/autoload.php';

use Carbon\Carbon;
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

<?php 

require 'vendor/autoload.php';

use Carbon\Carbon;
3

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

Các hàm

<?php 

require 'vendor/autoload.php';

use Carbon\Carbon;
00 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

<?php 

require 'vendor/autoload.php';

use Carbon\Carbon;
01 và lưu trữ nó trong một biến. Hãy gọi nó là
<?php 

require 'vendor/autoload.php';

use Carbon\Carbon;
02

<?php 

require 'vendor/autoload.php';

use Carbon\Carbon;
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

<?php 

require 'vendor/autoload.php';

use Carbon\Carbon;
03 để tạo ngày Carbon, sau đó sử dụng
<?php 

require 'vendor/autoload.php';

use Carbon\Carbon;
00 để tìm sự khác biệt

<?php 

require 'vendor/autoload.php';

use Carbon\Carbon;
5

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

<?php

require __DIR__ . "/vendor/autoload.php";

$now = carbon::now()
echo "$now\n";
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

<?php 

require 'vendor/autoload.php';

use Carbon\Carbon;
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ả

  • Làm thế nào để Carbon có được tên ngày từ ngày?
    Ugbovo thịnh vượng

người phản biện

  • Làm thế nào để Carbon có được tên ngày từ ngày?
    Matthew Setter


bài viết liên quan

Làm thế nào để Carbon có được tên ngày từ ngày?

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 để Carbon có được tên ngày từ ngày?

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 để Carbon có được tên ngày từ ngày?

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 để Carbon có được tên ngày từ ngày?

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 để Carbon có được tên ngày từ ngày?

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 để Carbon có được tên ngày từ ngày?

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

Làm thế nào để Carbon thêm ngày cho đến nay?

Laravel add days to date cung cấp cho bạn thêm ngày bổ sung bằng cách sử dụng carbon. .
Đối tượng Carbon\Carbon ( [ngày] => 2022-01-16 06. 36. 25 [timezone_type] => 2 [timezone] => GMT ) Đối tượng Carbon\Carbon ( [ngày] => 2020-01-17 06. 36. 25 [loại_múi_giờ] => 2 [múi giờ] => GMT ).

Làm thế nào để có được ngày kể từ ngày trong Laravel?

function dateDiffInDays($date1, $date2) { $diff = strtotime($date2) - strtotime($date1); . 03. 00"; // Ngày kết thúc $date2 = date('Y-m-d'); $dateDiff = dateDiffInDays($date1, $date2); // Start date $date1 = "2021-03-01 04:03:00"; // End date $date2 = date('Y-m-d'); $dateDiff = dateDiffInDays($date1, $date2);

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 để có được ngày hôm nay ở Laravel?

Làm cách nào để lấy ngày và giờ hiện tại trong Laravel? .
điều kiện tiên quyết
Sử dụng Carbon để lấy ngày giờ hiện tại
Sử dụng hàm trợ giúp now()