১৪ তারিখে বাংলা নববর্ষ পালন করা হয়, তবে পহেলা ফাল্গুন আর পহেলা বৈশাখ ছাড়া অন্য কোন বাংলা তারিখ আমরা মনে রাখি না। ইন্টারনেটে কিছু টুল দেখলাম যেখানে গ্রেগরীয়ান ক্যালেন্ডার থেকে বাংলাতে রুপান্তর করা যায়। তবে মূল কোড পেলাম না কোথাও। নিজের দরকারে এই কোডটি লিখতে হয়েছিল । জানিয়ে দিলাম সকলকে । কেউ ভুল ধরতে পারলে জানানোর অনুরোধ করছি।
এটি দেখতে সি/সি++ এর মত মনে হলেও এটি কোন নির্দিষ্ট ভাষায় লেখা হয় নাই। তবে এটি দেখে যেকোউ যেকোন ভাষায় কোড লিখতে পারবে বলে আমার ধারনা।
// this code may looks like a C/C++ code, but it is not. actually i tried to ddescribe the conditions
// get the date from System
GET : en_year
GET : en_month
GET : en_day
check leapyear (en_year) // Checking the en_year is leap year or not
{
if (en_year MOD 4 == 0 AND en_year MOD 100 != 0 OR en_year MOD 400 ==0) then
{
leap_year_check = TRUE
}
else
{
leap_year_check = TRUE
}
}
// month calculation
if en_month == January { // January
if en_day <=13{
bn_month= পৌষ
bn_day= en_day+17
}
else if en_day>=14 {
bn_month= মাঘ
bn_day= (en_day+17)-30
}
}
else if en_month == February { // February
if en_day <=13{
bn_month= মাঘ
bn_day= en_day+18
}
else if en_day>=14 {
bn_month= ফাল্গুন
bn_day= (en_day+18)-30
}
}
}
else if en_month == March { //March
if leap_year_check== FALSE {
if en_day <=13{
bn_month= ফাল্গুন
bn_day= (en_day+16)
}
else if en_day>=14 {
bn_month= চৈত্র
bn_day= (en_day+16)-30
}
}
else if leap_year_check== TRUE {
if en_day <=14{
bn_month= ফাল্গুন
bn_day= en_day+17
}
else if en_day>=15 {
bn_month= চৈত্র
bn_day= (en_day+17)-30
}
}
}
else if en_month == April { // April
if en_day <=13{
bn_month= চৈত্র
bn_day= (en_day+17)
}
else if en_day>=14 {
bn_month= বৈশাখ
bn_day= (en_day+17)-30
}
}
else if en_month == May { // May
if en_day <=13{
bn_month= বৈশাখ
bn_day= (en_day+17)
}
else if en_day>=14 {
bn_month= জ্যৈষ্ঠ
bn_day= (en_day+17)-30
}
}
else if en_month == June { // June
if en_day <=13{
bn_month= জ্যৈষ্ঠ
bn_day= (en_day+17)
}
else if en_day>=14 {
bn_month= আষাঢ়
bn_day= (en_day+17)-30
}
}
else if en_month == July { //July
if en_day <=13{
bn_month= আষাঢ়
bn_day= (en_day+16)
}
else if en_day>=14 {
bn_month= শ্রাবন
bn_day= (en_day+16)-30
}
}
else if en_month == August { // August
if en_day <=13{
bn_month= শ্রাবন
bn_day= (en_day+16)
}
else if en_day>=14 {
bn_month= ভাদ্র
bn_day= (en_day+16)-30
}
}
else if en_month == September { // September
if en_day <=13{
bn_month= ভাদ্র
bn_day= (en_day+16)
}
else if en_day>=14 {
bn_month= আশ্বিন
bn_day= (en_day+16)-30
}
}
else if en_month == October { // October
if en_day <=13{
bn_month= আশ্বিন
bn_day= en_day+15
}
else if en_day>=14 {
bn_month= কার্তিক
bn_day= (en_day+15)-30
}
}
else if en_month == November { // November
if en_day <=13{
bn_month= কার্তিক
bn_day= en_day+16
}
else if en_day>=14 {
bn_month= অগ্রহায়ণ
bn_day= (en_day+16)-30
}
}
else if en_month == December { // December
if en_day <=13{
bn_month= অগ্রহায়ণ
bn_day= en_day+16
}
else if en_day>=14 {
bn_month= পৌষ
bn_day= (en_day+16)-30
}
}
// Year Calculation
Year_Calculation_Function
{
if en_month >= 4
{
if(en_month == 4 && en_day < 14) //1-13 on April
{
bn_year = en_year - 594;
}
else if(en_month == 4 AND en_day == 14) // on the 14th April
{
bn_year = en_year - 593;
}
else // for 15-30 on April
{
bn_year = en_year - 593;
}
}
else
{
bn_year = en_year - 594;
}
return bn_year;
}
//Number conversion
en_number= {0,1,2,3,4,5,6,7,8,9}
bn_number= {০,১,২,৩,৪,৫,৬,৭,৮,৯}








আপনার আলগারিদম দেখে ভাল লাগল, ধন্যবাদ। আমি মাইক্রসফট এক্সেলে একটি বাংলা পঞ্জিকা তৈরি করেছি যার জন্য কোন কোডের প্রয়োজন নেই। স্লাইডার ব্যবহার করে সহেজই বর্ষ পরিবর্তন করতে পারেন। তবে এটি দেখতে ইউনিকোড ও SutonnyMJ font লাগবে। দেখুন: http://usingha.com/
বাংলা ক্যালেন্ডার
http://www.facebook.com/bangla.calendar