Chế độ xem tháng theo lịch Php

Tương tự sau ngày cuối cùng của tháng, chúng ta phải để trống các ngày còn lại trong ma trận lịch. Đối với điều này, chúng tôi sẽ sử dụng hàm chuỗi str_repeat của php để nhân số lần các ô trống được quyết định bởi ngày bắt đầu của tháng và ngày kết thúc của tháng

I solved a problem with Julian dates that are used in the JD Edwards ERP package [running on AS/400].  The Julian format for this system is as follows:  CYYDDD

Where C is 0 for 1900 and 1 for 2000
DDD is the day of the year count

I used the mktime built-in php function to convert dates to the normal DD/MM/YYYY format.  This function will convert dates that are between 1970 and 2038 [limitation of unix timestamps and the mktime function]

The $jde_date var needs to be a 6 len STRING... if you use a numeric var type it will drop the leading 0 for any date that represents 1900... this will botch the substr functions and thus make the whole thing wrong.

function jde_date_conv[$jde_date]
{

$ct = substr[$jde_date,0,1];
$yr = substr[$jde_date,1,2];
$dy = substr[$jde_date,3,3];

if[$ct == 0] $yr_pfx = 19;
if[$ct == 1] $yr_pfx = 20;

$tlt_yr = $yr_pfx.$yr;

$base_time = mktime[0,0,0,1,0,$tlt_yr];

$unix_time = [$dy * 86400] + $base_time;

Where C is 0 for 1900 and 1 for 2000
DDD is the day of the year count
0

Trong bài viết này, tôi đã phát triển một lớp lịch sự kiện sẽ điền tất cả các ngày trong tháng dựa trên ngày đã chỉ định, cùng với các sự kiện mà chúng ta có thể thêm vào lịch

Mặc dù PHP không bao gồm API lịch tích hợp sẵn [không bao gồm các phần mở rộng bổ sung], tuy nhiên, nó cung cấp cho bạn một loạt các phương thức ngày và giờ mà chúng ta có thể sử dụng để thao tác. Ngoài ra, chúng ta có thể sử dụng các phương pháp này để điền vào các trang hiển thị ngày, tuần và tháng của một năm cụ thể

Tại sao tôi nên sử dụng lớp lịch?

Nó hoàn toàn tùy thuộc vào bạn và yêu cầu của bạn. Tôi đã quyết định tự mình viết lớp học của riêng mình khi tôi làm việc trong nhiều dự án yêu cầu hệ thống lịch dựa trên sự kiện. Tôi đã tìm kiếm vô số lần một thư viện tối thiểu, không phụ thuộc và hiện đại. Nhưng không thể tìm thấy một cái mà tôi có thể tích hợp liền mạch với các dự án của mình. Vì vậy, tôi đã tạo ra lớp PHP có thể dễ dàng tích hợp với bất kỳ dự án nào, cho dù quy mô của dự án lớn hay nhỏ.

Nguồn

Tạo một tệp mới Lịch. php và thêm đoạn mã sau

PHP

Thêm mã sau vào biểu định kiểu [CSS] của bạn hoặc tạo lịch tệp mới. css

CSS

.calendar {
    display: flex;
    flex-flow: column;
}
.calendar .header .month-year {
    font-size: 20px;
    font-weight: bold;
    color: #636e73;
    padding: 20px 0;
}
.calendar .days {
    display: flex;
    flex-flow: wrap;
}
.calendar .days .day_name {
    width: calc[100% / 7];
    border-right: 1px solid #2c7aca;
    padding: 20px;
    text-transform: uppercase;
    font-size: 12px;
    font-weight: bold;
    color: #818589;
    color: #fff;
    background-color: #448cd6;
}
.calendar .days .day_name:nth-child[7] {
    border: none;
}
.calendar .days .day_num {
    display: flex;
    flex-flow: column;
    width: calc[100% / 7];
    border-right: 1px solid #e6e9ea;
    border-bottom: 1px solid #e6e9ea;
    padding: 15px;
    font-weight: bold;
    color: #7c878d;
    cursor: pointer;
    min-height: 100px;
}
.calendar .days .day_num span {
    display: inline-flex;
    width: 30px;
    font-size: 14px;
}
.calendar .days .day_num .event {
    margin-top: 10px;
    font-weight: 500;
    font-size: 14px;
    padding: 3px 6px;
    border-radius: 4px;
    background-color: #f7c30d;
    color: #fff;
    word-wrap: break-word;
}
.calendar .days .day_num .event.green {
    background-color: #51ce57;
}
.calendar .days .day_num .event.blue {
    background-color: #518fce;
}
.calendar .days .day_num .event.red {
    background-color: #ce5151;
}
.calendar .days .day_num:nth-child[7n+1] {
    border-left: 1px solid #e6e9ea;
}
.calendar .days .day_num:hover {
    background-color: #fdfdfd;
}
.calendar .days .day_num.ignore {
    background-color: #fdfdfd;
    color: #ced2d4;
    cursor: inherit;
}
.calendar .days .day_num.selected {
    background-color: #f1f2f3;
    cursor: inherit;
}

Cách sử dụng

Đưa lớp vào dự án của bạn và tạo một thể hiện mới

PHP

include 'Calendar.php';
$calendar = new Calendar[];

Chúng tôi có thể chỉ định một ngày trong khi tạo một phiên bản mới

PHP

include 'Calendar.php';
$calendar = new Calendar['2021-02-26'];

Thêm sự kiện mới vào lịch

PHP

$calendar->add_event['Holiday', '2021-02-14'];

Chúng ta có thể chỉ định số ngày sự kiện sẽ kéo dài bằng cách ràng buộc một giá trị bổ sung cho phương thức add_event

PHP

$calendar->add_event['Holiday', '2021-02-14', 7]; // Event will last for 7 days

Chúng ta cũng có thể thay đổi màu sắc

PHP

________số 8_______

Chỉ có màu đỏ, xanh dương và xanh lá cây [mặc định là màu cam]. Bạn có thể thêm nhiều màu hơn vào tệp CSS

Chúng tôi có thể điền lịch ở định dạng HTML bằng đoạn mã sau

PHP

echo $calendar;

Mã ví dụ

Tạo một ví dụ tập tin mới. php và thêm đoạn mã sau

PHP




	
		
		Event Calendar
		
		
	
	
	    
	    	

Event Calendar

Biểu định kiểu [kiểu. css] cho trang ví dụ của chúng tôi

CSS

* {
    box-sizing: border-box;
    font-family: -apple-system, BlinkMacSystemFont, "segoe ui", roboto, oxygen, ubuntu, cantarell, "fira sans", "droid sans", "helvetica neue", Arial, sans-serif;
    font-size: 16px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
body {
    background-color: #FFFFFF;
    margin: 0;
}
.navtop {
    background-color: #3b4656;
    height: 60px;
    width: 100%;
    border: 0;
}
.navtop div {
    display: flex;
    margin: 0 auto;
    width: 800px;
    height: 100%;
}
.navtop div h1, .navtop div a {
    display: inline-flex;
    align-items: center;
}
.navtop div h1 {
    flex: 1;
    font-size: 24px;
    padding: 0;
    margin: 0;
    color: #ebedee;
    font-weight: normal;
}
.navtop div a {
    padding: 0 20px;
    text-decoration: none;
    color: #c4c8cc;
    font-weight: bold;
}
.navtop div a i {
    padding: 2px 8px 0 0;
}
.navtop div a:hover {
    color: #ebedee;
}
.content {
    width: 800px;
    margin: 0 auto;
}
.content h2 {
    margin: 0;
    padding: 25px 0;
    font-size: 22px;
    border-bottom: 1px solid #ebebeb;
    color: #666666;
}

Và bây giờ nếu chúng ta điều hướng đến trang ví dụ của mình, nó sẽ xuất hiện như sau

http. // localhost/phpcalendar/ví dụ. php

Làm

  • Thêm nhiều phương thức vào lớp. loại bỏ các sự kiện, vv
  • Xuất sang các định dạng khác nhau
  • Gói nâng cao sẽ bao gồm AJAX, MySQL, v.v.

Phần kết luận

Mặc dù lớp lịch mà tôi đã tạo không phải là một giải pháp hoàn chỉnh, nhưng nó chắc chắn sẽ giúp bạn tích hợp lớp này vào bất kỳ dự án nào một cách liền mạch và mở rộng mã cơ sở

Hãy để lại bình luận bên dưới và cho tôi biết nếu bạn gặp phải bất kỳ vấn đề nào với lớp học. Đừng quên theo dõi chúng tôi trên mạng xã hội và chia sẻ các bài viết của chúng tôi vì điều này sẽ giúp trang web của chúng tôi phát triển và chúng tôi có thể cung cấp nhiều nội dung chất lượng hơn

Phát hành theo Giấy phép MIT

Nếu bạn muốn hỗ trợ chúng tôi, hãy cân nhắc mua hệ thống lịch sự kiện nâng cao bên dưới vì nó sẽ giúp chúng tôi tạo thêm nhiều hướng dẫn hơn và duy trì hoạt động của trang web. Gói nâng cao bao gồm mã cải tiến và nhiều tính năng hơn

Nâng cao

$ 20. 00

xem thêm chi tiết

Mã nguồn

Tệp SQL cơ sở dữ liệu

Hệ thống lịch sự kiện an toàn

Thêm, Chỉnh sửa & Xóa Sự kiện

Tính năng Lịch nhỏ

Tính năng mô tả sự kiện

Tính năng chỉ báo AJAX [bộ tải vòng tròn]

Tính năng phương thức JavaScript

lớp JavaScript

Tích hợp MySQL

Tích hợp AJAX

Tệp SCSS

bảng quản trị

Tính năng quản lý sự kiện

Mã nhận xét

Cập nhật và hỗ trợ miễn phí [các vấn đề nhỏ]

Hướng dẫn sử dụng

Thêm. Mã nguồn hướng dẫn

PayPal Tải xuống Crypto Tải xuống

Giảm giá

Gói [Tiết kiệm 53%]

$ 119. 00

255. 00

xem thêm chi tiết

Hệ thống đăng nhập và đăng ký an toàn

Hệ thống giỏ hàng

Ứng dụng CRUD

Hệ thống bán vé

Hệ thống thư viện

Hệ thống lịch sự kiện

Hệ thống thăm dò ý kiến ​​và bỏ phiếu

Hệ thống bình luận

Đánh giá hệ thống

Mâu liên hệ

Hệ thống trò chuyện hỗ trợ trực tiếp

Bản tin & Hệ thống gửi thư

Truy cập vào các tập lệnh trong tương lai

PayPal Tải xuống Crypto Tải xuống

về tác giả

David Adams

Nhà phát triển trang web nhiệt tình, tôi đã thiết kế và phát triển các ứng dụng web trong hơn 10 năm, tôi tận hưởng sự sáng tạo mà tôi đưa vào các dự án của mình và tận hưởng những gì người khác mang đến cho trang web tuyệt vời. Mục tiêu của tôi là giúp những người mới tìm hiểu cách sử dụng web

Làm cách nào để hiển thị lịch trong PHP?

Đầu tiên sao chép mã nguồn bên dưới vào tệp lớp "calendar. php" . Chúng ta sẽ đi qua từng chức năng quan trọng. Lớp "Calendar" này là một đối tượng hoàn chỉnh, lớp này sẽ lặp lại lịch HTML khi gọi hàm "show[]" của nó.

Làm cách nào để sử dụng lịch trong PHP?

Hàm Lịch ¶ .
cal_days_in_month - Trả về số ngày trong một tháng cho một năm và lịch nhất định
cal_from_jd — Chuyển đổi từ Đếm ngày Julian sang lịch được hỗ trợ
cal_info — Trả về thông tin về một lịch cụ thể
cal_to_jd — Chuyển đổi từ lịch được hỗ trợ sang Đếm ngày Julian

Làm cách nào để tạo lịch đặt phòng trong PHP?

#Cách xây dựng Lịch đăng ký PHP bằng MySQL .
#Chuẩn bị cơ sở dữ liệu
#Xây dựng hạng Đặt phòng
#Xây dựng lớp Lịch
# Đặt nó lại với nhau
#Final và mã nguồn

Làm cách nào để thêm bộ chọn ngày theo lịch trong PHP?

Định cấu hình DatePicker . $date = new EJ\DatePicker["datePicker"]; echo $date->value[new DateTime[]]->minDate[new DateTime["11/1/2016"]]->maxDate[new DateTime["11/24/2016"]]->render[]; ?> The following screenshot illustrates the output of above code.

Chủ Đề