Làm cách nào tôi có thể tìm thấy ngày đầu tiên và ngày cuối cùng trong một năm bằng cách sử dụng php?

Trong hướng dẫn này, chúng ta sẽ xem xét cách lấy ngày đầu tiên và ngày cuối cùng của tháng hiện tại bằng JavaScript

Trong cuộc sống hàng ngày, chúng ta thường xử lý ngày tháng và chúng ta thường nhận thức được ngày—hoặc ít nhất là tháng—chúng ta đang ở trong. Để hỗ trợ người dùng xác định thời điểm xảy ra hoặc sẽ xảy ra điều gì đó liên quan đến tình hình hiện tại của họ, chúng tôi hiển thị tên của một ngày hoặc một tháng. Điều này phục vụ như một niên đại tuyệt vời

Sau đây là các cách tiếp cận để lấy ngày đầu tiên và ngày cuối cùng của tháng bằng JavaScript –

  • Sử dụng một đối tượng ngày

  • Sử dụng khoảnh khắc. thư viện js

Sử dụng một đối tượng ngày

Theo cách tiếp cận này, chúng ta có thể sử dụng các phương pháp khác nhau để tìm ra ngày đầu tiên và ngày cuối cùng của tháng

Phương thức getDate() được sử dụng cho ngày đã chỉ định, trả về ngày trong tháng (từ 1 đến 31). Phương thức này trả về ngày trong tháng được biểu thị bằng một số từ 1 đến 31

Sau đó, chúng tôi sử dụng phương thức getFullYear() để trả về năm của ngày đã chỉ định (bốn chữ số cho các năm từ 1000 đến 9999). Nó trả về một số tương ứng với năm của ngày được chỉ định

Phương thức getMonth(), dựa trên giờ địa phương, trả về tháng (từ 0 đến 11) cho ngày đã chỉ định. Nó trả về một số, từ 0 đến 11, biểu thị tháng

cú pháp

Sau đây là cú pháp để lấy ngày đầu tiên và ngày cuối cùng của tháng hiện tại -

var date = new Date();
var firstDay = new Date(date.getFullYear(), date.getMonth(), 1);
var lastDay = new Date(date.getFullYear(), date.getMonth() + 1, 0);

Ở đây, một ngày đối tượng đang được tạo sẽ gọi các phương thức được chỉ định trong mã. Chúng ta lại tạo một đối tượng ngày mới FirstDay để lấy ngày đầu tiên của tháng hiện tại. Đối với điều này, chúng tôi chuyển tham số thứ ba là 1. Chọn ngày là 1 cho ta biết ngày đầu tiên của tháng

Theo cách tương tự, chúng tôi đã tạo đối tượng ngày lastDay để lấy ngày cuối cùng của tháng hiện tại. Chọn ngày 0 cho ta biết ngày cuối cùng của tháng. Khi chúng tôi thêm 1 vào giá trị trả về của phương thức getMonth(), chúng tôi sẽ tiến lên một tháng. Sau đó, bằng cách chỉ định 0 là ngày, chúng tôi lùi một ngày, đến ngày cuối cùng của tháng

Ví dụ

Trong ví dụ này, chúng ta có thể thấy một đối tượng ngày tháng đang được tạo. Đối tượng date gọi các phương thức getFullYear() và getMonth() để tìm ra ngày đầu tiên của tháng hiện tại

Get first and last date using Date Object

Sử dụng khoảnh khắc. thư viện js

Chốc lát. js là một gói JavaScript. Điều này có thể làm cho việc phân tích cú pháp, thao tác, xác thực và hiển thị ngày và giờ trong JavaScript trở nên rất đơn giản. Chốc lát. js sẽ được giới thiệu trong chương này, sau đó là phần thảo luận kỹ lưỡng về các tính năng của nó. Moment JS cho phép trình bày ngày tháng theo cách dịch và dễ đọc. Chốc lát. js có cách tiếp cận theo kịch bản cho phép bạn sử dụng nó bên trong trình duyệt

cú pháp

Sau đây là cú pháp cho Moment. định dạng ngày js -

const moment = require('moment');
const date = new Date('2022/01/01');
moment(date).format('MMMM d, YYYY'); // January 1, 2022

Thư viện thời điểm được bao gồm trong tập lệnh và đối tượng ngày được tạo. Đối tượng ngày được gọi và định dạng theo định dạng đã cho

Ví dụ

Trong ví dụ này, chúng ta có thể thấy Moment. thư viện js được bao gồm trong tập lệnh. Biến firstdate gọi thư viện thời điểm và trả về ngày đầu tiên của tháng ở định dạng được chỉ định DD-MM-YYYY. Tương tự, biến ngày cuối cùng sẽ trả về ngày cuối cùng của tháng theo định dạng cụ thể

Get first and last date using Moment JS

Trong hướng dẫn này, những gì chúng ta đã học là cách tìm ngày đầu tiên và ngày cuối cùng của tháng bằng JavaScript. Phương thức đầu tiên thảo luận về triển vọng sử dụng đối tượng ngày với các phương thức getDate(), getMonth() và getFullYear(). Phương pháp thứ hai khám phá ý tưởng sử dụng thư viện bên ngoài có tên là MomentJS, giúp định dạng ngày tháng và tìm ra mục tiêu của hướng dẫn này

Hàm strtotime trong PHP cực kỳ mạnh mẽ nhưng lại được sử dụng rất ít - chủ yếu là do một số khía cạnh có thể hơi khó hiểu và mọi người tự tin hơn 'làm mọi việc theo cách khó'. Hàm strtotime không chỉ chuyển đổi chuỗi ngày thành giá trị dấu thời gian mà còn có 'ngôn ngữ' riêng để cho phép bạn chỉ định bất kỳ ngày hoặc giờ nào bạn muốn

Tính ngày cho những ngày trong quá khứ và tương lai

Các phép tính đơn giản và phổ biến nhất dựa trên giây, phút, giờ và ngày. Tháng và năm cũng là đầu vào hợp lệ nhưng không phải lúc nào cũng hữu ích trong tính toán vì chúng không có độ dài bằng nhau do cách thức hoạt động của lịch của chúng tôi

Hiển thị bên dưới là kết quả của các chuỗi khác nhau được chuyển đến strtotime và được chuyển đổi thành chuỗi ngày

Ví dụ

echo date('l jS F (Y-m-d)', strtotime('-3 days'));3 ngày trướcThứ hai 26 tháng 12 (26-12-2022)-3 ngàyThứ hai 26 tháng 12 (26-12-2022)-2 ngàyThứ ba 27 tháng 12 (27-12-2022)hôm quaThứ tư 28 tháng 12 (28-12-2022)nayThứ năm 29 tháng 12 (

Như mọi khi, thường có nhiều cách khác nhau để đạt được cùng một kết quả. Trong danh sách trên, bạn có thể thấy rằng '3 ngày trước' tương đương với '-3 ngày'. Ngoài ra, 'hôm qua' giống như '-1 ngày' hoặc '1 ngày trước'. Có thể bỏ chữ 's' ở cuối 'ngày', 'năm' hoặc các phép đo khác nếu bạn muốn

Các giá trị đầu vào 'bây giờ' và 'hôm nay' trong danh sách trên là không cần thiết vì nếu chúng ta bỏ qua tham số thứ hai của hàm ngày thì nó sẽ mặc định là thời điểm hiện tại

Làm việc với các ngày trong tuần

Đôi khi chúng tôi làm việc với các ngày trong tuần và cần biết lần xuất hiện cuối cùng/tiếp theo của, ví dụ: Thứ Bảy

-2 tuần Thứ BảyThứ Bảy ngày 17 tháng 12 (2022-12-17)Thứ Bảy tuần trướcThứ Bảy ngày 24 tháng 12 (24-12-2022)Thứ BảyThứ Bảy ngày 31 tháng 12 (31-12-2022)Thứ Bảy tuần nàyThứ Bảy ngày 31 tháng 12 (31-12-2022)Thứ Bảy đầu tiênThứ Bảy ngày 31 tháng 12 (

Trong danh sách trên, chúng ta có thể thấy rằng 'Saturday', 'this Saturday' và 'first Saturday' đều tương đương nhau. Từ khóa 'này' và 'đầu tiên' chỉ được sử dụng để cải thiện khả năng đọc

Bây giờ nó trở nên hơi phức tạp để giải thích. Sau đây xuất hiện trên trang web PHP

Trong PHP 5 lên đến 5. 0. 2, "bây giờ" và các thời gian tương đối khác được tính sai từ nửa đêm hôm nay. Nó khác với các phiên bản khác ở chỗ nó được tính toán chính xác từ thời điểm hiện tại

Ngoài ra, họ đã giới thiệu 'thứ hai' như trong 'thứ bảy thứ hai' và dường như đã thay đổi ý nghĩa của 'tiếp theo' thành nghĩa giống như 'thứ nhất'. Cuối cùng, giá trị trả về khi thất bại giờ là FALSE thay vì -1. Thay đổi cuối cùng này có nhiều khả năng gây ra sự cố nhất trong các ứng dụng cũ

Bảng dưới đây cho thấy đầu ra đã thay đổi như thế nào

Các phiên bản cũ hơn của PHP. PHP5. 0. 2 và cao hơn
  • thứ bảy tuần trước
  • thứ bảy này hoặc thứ bảy đầu tiên
  • thứ bảy tới
  • thứ bảy thứ ba
  • thứ bảy thứ tư
  • thứ bảy tuần trước
  • thứ bảy này hoặc thứ bảy đầu tiên hoặc thứ bảy tới
  • thứ bảy thứ hai
  • thứ bảy thứ ba
  • thứ bảy thứ tư

Sử dụng offset để có được ngày phù hợp

Một vấn đề khác là khi bạn muốn tìm sự xuất hiện trước đó hoặc tiếp theo của một ngày nào đó trong tuần. Ví dụ: hôm nay là thứ Năm, chúng ta có thể chạy như sau

thứ Năm tuần trướcThứ năm 22 tháng 12 (2022-12-22)Thứ nămThứ năm 29 tháng 12 (2022-12-29)Thứ năm tuần nàyThứ năm 29 tháng 12 (2022-12-29)Thứ năm đầu tiênThứ năm ngày 5 tháng 1 (2023-01-05)Thứ năm tuần sauThứ năm ngày 5 tháng 1 (2023- . PHP5. 0. 2 và cao hơn
  • Thứ Năm tuần trước
  • thứ năm này hoặc thứ năm đầu tiên
  • thứ năm tới
  • thứ năm thứ ba
  • thứ năm Thứ tư
  • Thứ Năm tuần trước
  • thứ năm này
  • thứ năm đầu tiên hoặc thứ năm tới
  • thứ năm thứ hai
  • thứ năm thứ ba

Bạn có thể thấy trong bảng ở trên, trong khi 'thứ Năm tới' trả về kết quả tương tự, thì 'thứ nhất', 'thứ hai', 'thứ ba',. tất cả các công cụ sửa đổi đã thay đổi ý nghĩa - rất may là ở trạng thái hợp lý hơn

Bạn cũng có thể nhận thấy rằng điều này chỉ xảy ra khi bạn đang tính toán từ ngày hiện tại chứ không phải trong các ví dụ trước (trừ khi hôm nay là Thứ Bảy). Bất cứ khi nào bạn tính toán dựa trên số ngày, bạn nên kiểm tra càng nhiều khả năng càng tốt. Hôm nay nó có hoạt động không?

Đôi khi bạn muốn tìm lần xuất hiện cuối cùng của một ngày trước ngày hôm nay hoặc trước ngày hôm qua hoặc trước 2 ngày trước. Các ví dụ sau đây cho thấy cú pháp bạn có thể sử dụng cho việc này

-3 ngày Thứ bảy tuần trướcThứ tư 21 tháng 12 (21-12-2022)-2 ngày Thứ bảy tuần trướcThứ năm 22 tháng 12 (22-12-2022)hôm qua Thứ bảy tuần trướcThứ sáu 23 tháng 12 (23-12-2022)Ngày mai Thứ bảyChủ nhật 1 tháng 1 (2023-01-01)

Bây giờ bạn đã hiểu hoạt động bên trong của strtotime, bạn sẽ có thể giảm đáng kể số lượng mã cần thiết để tính ngày trong quá khứ và tương lai

Kiểm tra xem một ngày trong Quá khứ hay Tương lai

Hàm strtotime trả về một giá trị số nguyên nên việc xem một ngày là quá khứ hay tương lai là một vấn đề đơn giản

if(strtotime(dateString) > time()) { # date is in the future } if(strtotime(dateString) < time()) { # date is in the past } if(strtotime(dateString) == time()) { # date is right now }

Ghi chú. time() tương đương với date('U') và trả về dấu thời gian hiện tại đến giây gần nhất

Bạn có thể muốn thay time() bằng strtotime('0. 00') nếu bạn muốn so sánh chuỗi ngày với ngày hiện tại thay vì ngày và giờ hiện tại

Làm cách nào để có được ngày bắt đầu và ngày kết thúc năm trong php?

$year = date('Y') - 1 ; . $year = ngày('Y') - 1;

Làm cách nào để có được ngày đầu tiên trong năm bằng php?

Về cơ bản date('Y') trả về giá trị của năm hiện tại. và ngày đầu tiên của mỗi năm bắt đầu như 2000-01-01. Vì vậy, $firstdate = date('Y'). .
Tôi đã có nghĩa là để giải thích nó trong câu trả lời của bạn. Bạn có thể chỉnh sửa nó bất cứ lúc nào. – FZ. .
đối với ngày đầu tiên của năm hiện tại, điều này sẽ thực hiện $startDate= date('Y-01-01');

Làm cách nào để có được ngày đầu tiên và ngày cuối cùng của tháng trước trong php?

$month_ini = date("Y-m-d", mktime(0, 0, 0, date("m", strtotime("-1 month")), 1, date("Y", strtotime("-1 month"))

Làm cách nào để có được ngày cuối cùng của năm trong php?

Hiển thị hoạt động trên bài đăng này. .
Làm cách nào tôi có thể chuyển một năm làm tham số và lấy ngày cuối cùng của năm?.
Trong trường hợp đó, chỉ cần chuyển năm $endOfYear = new \DateTime('ngày cuối cùng của tháng 12 năm 2019');