Trung Quân
  • Node.js
  • ReactJS
    • Learn React Hooks
  • MERN Stack
  • Thuật Toán
  • Công Nghệ
    • Amazon AWS
    • Hosting – Domain
  • Về Tác Giả
  • Bản Quyền
Top Posts
Lộ trình học lập trình Web từ con...
Nhận diện, xác thực khuôn mặt với ReactJS...
Tạo hiệu ứng thẻ bài Magic với HTML...
NodeJS viết API gửi Email với OAuth2 và...
Tạo hiệu ứng Parallax đơn giản chỉ với...
Git – GitHub • Học Git thực tế...
Tạo một trang GitHub Profile phiên bản vũ...
Cài đặt iTerm2, Oh My Zsh, Zsh-autosuggestions và...
Cài đặt NVM, NodeJS và GIT trên MacOS...
Thuật toán Tìm phần tử bị lặp đầu...

Trung Quân

  • Node.js
  • ReactJS
    • Learn React Hooks
  • MERN Stack
  • Thuật Toán
  • Công Nghệ
    • Amazon AWS
    • Hosting – Domain
  • Về Tác Giả
  • Bản Quyền
Bài tập ứng dụng webCommon Problems

Ứng dụng web chuyển năm dương lịch bất kỳ sang âm lịch

by trungquandev June 8, 2016
written by trungquandev June 8, 2016
Ứng dụng web chuyển năm dương lịch bất kỳ sang âm lịch

Xin chào các bạn, mình là Quân, hôm nay mình sẽ hướng dẫn các bạn code ứng dụng chuyển đổi năm bất kỳ từ dương lịch sang âm lịch.

(Về chuyển ngày tháng thì mình sẽ viết một bài khác sau, vì nó phức tạp hơn một chút)

Hình dung đề bài:

-Năm âm lịch sẽ có 10 “can” và 12 “chi” bạn nào không biết can và chi thì search google nhé :P.

  • Can là: “Quý”,”Giáp”,”Ất”,”Bính”,”Đinh”,”Mậu”,”Kỉ”,”Canh”,”Tân”,”Nhâm”.
  • Chi là: “Hợi”,”Tý”,”Sửu”,”Dần”,”Mão”,”Thìn”,”Tỵ”,”Ngọ”,”Mùi”,”Thân”,”Dậu”,”Tuất”.

-Công thức chuyển năm dương sang âm rất đơn giản:

  •  Đưa lần lượt các can và các chi vào 2 mảng khác nhau theo vị trí như trên.
  •  Lấy năm dương lịch trừ đi 3, sau khi trừ, lấy năm dương lịch chia dư cho 10 sẽ lấy ra được vị trí của can trong mảng, chia dư cho 12 sẽ ra vị trí của chi trong mảng
  • Ghép Can và Chi lại với nhau thôi :))

Xử lý bài toán:

<?php
if(isset($_POST["ok"]))
{
        $nam_dl = $_POST["nam"];
      
  $mang_can = array("Quý","Giáp","Ất","Bính","Đinh","Mậu","Kỉ","Canh","Tân","Nhâm");
  $mang_chi = array("Hợi","Tý","Sửu","Dần","Mão","Thìn","Tỵ","Ngọ","Mùi","Thân","Dậu","Tuất");
      
  $nam_dl = $nam_dl - 3;
  $can = $nam_dl%10;
  $chi = $nam_dl%12;
      
  $nam_al = $mang_can[$can]." ".$mang_chi[$chi];
        echo $nam_al;
}
?>
<form action="đường dẫn đến file code của bạn" method="post" enctype="multipart/form-data">
 Nhập năm dương bất kỳ: <input type="number" name="nam" value="" />
         <input type="submit" value="Chuyển" name="ok" />
</form>
/*
 Giải thích đoạn code trên:
-Ta sẽ tạo một form để nhập năm dương lịch mà ta muốn chuyển, 
 chú ý trong dấu ngoặc kép chỗ action là đường dẫn đến file code của bạn, 
 ví dụ của mình là chuyen-nam-duong-sang-am.php

-Thẻ input type = "number" để nhập giá trị năm mà ta muốn chuyển; có name = "nam"
-Thẻ input type = "submit" để nhấn yêu cầu Chuyển, name = "ok"

-Sau khi nhấn nút Chuyển, đoạn code php ở bên trên form sẽ kiểm tra xem bạn đã nhấn nút
 liệt kê hay chưa (dùng hàm isset). Nếu tồn tại $_POST["ok"] nghĩa là bạn đã nhấn thì
 sẽ lấy giá trị $_POST["nam"] gửi lên từ thẻ input và gán vào biến $nam_dl (năm dương lịch)

-Tạo 2 mảng $mang_can và $mang_chi để lưu các can chi vào, chú ý can chi phải để lần lượt
 như trên nhé, để lệch là sẽ ra kết quả khác đấy :))

-Như ta đã hình dung đề bài ở trên, thuật toán là ta sẽ trừ năm dương lịch đi 3 năm,
 $nam_dl= $nam_dl-3;
 
 -Sau đó tìm can sẽ chia dư năm dương lịch cho 10 để lấy vị trí của can trong mảng 
 (vì có 10 can) 
 -Tương tự tìm vị trí của chi sẽ chia dư năm dương lịch cho 12 (có 12 chi)

-Cuối cùng chỉ cần ghép can và chi lại với nhau và hiển thi(echo) nó ra thôi.

-Mình ví dụ năm 2016 luôn nhé: 
 * Trừ đi 3 ta sẽ được giá trị là 2013
 * 2013 chia dư cho 10 được 3, vị trí thứ 3 trong mảng can là "Bính"
 * 2013 chia dư cho 12 được 9, vị trí chứ 9 trong mảng chi là "Thân"
 * Ghép lại sẽ được năm Bính Thân, là năm nay luôn đấy :D
*/

Xong rồi đấy, dễ thôi mà ^^, bạn nào muốn giao diện ứng dụng như hình ở trên, có kèm hình ảnh các con vật trong năm thì có thể dowload source code của mình về tham khảo, phần giao diện html-css mình không hướng dẫn vì đó là những kiến thức căn bản, bạn nào muốn học thì cứ search gg, nhiều lắm :))

Source code: Github: Chuyển năm dương sang âm

Done.

Nếu có gì thắc mắc hoặc cần hỏi, bạn có thể comment dưới Bài Viết này hoặc Liên Hệ với mình, mình sẽ trả lời bạn sớm nhất. Cảm ơn các bạn và hẹn gặp lại các bạn ở những bài hướng dẫn tiếp theo.

Best Regards – Trung Quân

Khóa học lập trình làm việc thực tế:

Nếu các bạn thấy bài viết của mình có ích thì hãy ủng hộ mình bằng cách tham khảo bài viết giới thiệu khóa học lập trình MERN Stack Miễn Phí cực kỳ chất lượng và chính chủ dưới đây của mình nhé, cảm ơn các bạn ^^
KHOÁ HỌC LẬP TRÌNH MERN STACK 100% DỰ ÁN THỰC TẾ và CHẤT LƯỢNG
mern-stack-course-trungquandev
0 comment
0
FacebookTwitterGoogle +Pinterest
trungquandev

previous post
Ứng dụng web liệt kê danh sách số Armstrong nhỏ hơn một số giới hạn cho trước
next post
Ứng dụng web tìm kiếm “cặp số bạn bè” (friend numbers)

Related Posts

Ứng dụng web liệt kê danh sách số...

June 3, 2016

Ứng dụng web liệt kê “n” số nguyên...

May 30, 2016

Hướng dẫn build một con Facebook Messenger Bot...

January 19, 2017

Node.js lắng nghe, quan sát những thay đổi...

July 4, 2019

Hiểu sâu về JWT – JSON Web Tokens

September 15, 2019

Cấu hình bộ phát wifi TP-Link cho gia...

November 23, 2018

Tổng Quan Về Laravel Một Framework Khá Mạnh...

July 22, 2016

NodeJS xác thực người dùng sử dụng JWT...

October 16, 2019

Ứng dụng web tìm kiếm “cặp số bạn...

June 28, 2016

Hướng dẫn đăng ký chống DDoS với Google...

January 14, 2017

Bát Chánh Đạo

batchanhdao-trungquandev

About Me

About Me

Trung Quân

Software Engineer at Pod Foods

Academy Of Cryptography Techniques

"I am a dog and cat lover, love green, love to read books, write blog and oil painting ..."

Read my CV → https://cv.trungquandev.com/

My Maxim Live

A bit of fragrance clings to the hand that gives flowers!

For Vietnamese young generation

Đừng bao giờ làm người khổng lồ trong tư tưởng nhưng chỉ là thằng lùn trong hành động.

Keep in touch

Facebook Instagram Linkedin Youtube Email Github

Fanpage Facebook

Facebook

Học lập trình “MERN Stack Cơ Bản” qua ứng dụng thực tế

mern-stack-trello-app-trungquandev


  Khóa học lập trình MERN Stack (NodeJS, ReactJS, ExpressJS, MongoDB) cực kỳ chất lượng và Miễn Phí do chính mình hướng dẫn nhé:
  MERN Stack - xây dựng ứng dụng quản lý công việc dạng Kanban tương tự Trello.

Học lập trình “MERN Stack Nâng Cao” qua ứng dụng thực tế

mern-stack-advanced-trello-app-trungquandev


  * Học lập trình MERN Stack Nâng Cao (NodeJS, ReactJS, ExpressJS, MongoDB). Đây là một khóa học mà mình đã làm cực kỳ tâm huyết, với phong cách dạy lập trình làm dự án thực tế, chuyên nghiệp. Để các bạn có một hành trang kiến thức vững chắc cho hành trình làm lập trình viên trong tương lai nhé.
  Lập Trình MERN Stack Nâng Cao - Học Thực Tế Để Đi Làm

YouTube: Trungquandev Official

youtube-channel-trungquandev-official


  - Các bạn tham khảo kênh YouTube chính thức của mình và ủng hộ mình bằng cách tặng mình một lượt Đăng Ký Kênh nha.
Cảm ơn các bạn ^^

  YouTube: TRUNGQUANDEV OFFICIAL

© Copyright

Bản quyền:
  © DMCA (Digital Millennium Copyright Act)


DMCA.com Protection Status

License

Giấy phép nội dung:
  Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 Quốc tế.


Giấy phép Creative Commons

Other links

Portfolio của mình:
  https://cv.trungquandev.com

Lập trình cuộc sống:
  https://laptrinhcuocsong.com

Nhiều bài viết hay về javascript:
  https://codetheworld.io

  • Facebook
  • Youtube
  • GitHub
  • Linkedin
  • Instagram

@2022 - trungquandev.com. Since 2016 - All Right Reserved. Developed by Trung Quân Dev