Skip to content

Instantly share code, notes, and snippets.

@sohelamin
Created April 15, 2015 12:31
Show Gist options
  • Save sohelamin/7f7fafb4155e8ed4430f to your computer and use it in GitHub Desktop.
Save sohelamin/7f7fafb4155e8ed4430f to your computer and use it in GitHub Desktop.
Bangla Date
Date.prototype.addHours = function(h){
this.setHours(this.getHours()+h);
return this;
}
var timeStamp = new Date().addHours(-6);
function getBanglaDateAndMonth() {
var hours = timeStamp.getHours();
var date = timeStamp.getDate();
var month = timeStamp.getMonth();
var year = timeStamp.getFullYear();
var monthName;
var monthLists = ["বৈশাখ", "জ্যৈষ্ঠ", "আষাঢ়", "শ্রাবণ", "ভাদ্র", "আশ্বিন", "কার্তিক", "অগ্রহায়ণ", "পৌষ", "মাঘ", "ফাল্গুন", "চৈত্র"];
if (month >= 3 && date >= 13) {
year = (year - 593);
} else {
year = (year - 594);
}
switch (month) {
case 0:
if (date >= 1 && date <= 13) {
date += 17;
monthName = monthLists[8]; //"পৌষ"
} else {
date -= 13;
monthName = monthLists[9]; //"মাঘ"
}
break;
case 1:
if (date >= 1 && date <= 12) {
date += 18;
monthName = monthLists[9]; //"মাঘ"
} else {
date -= 12;
month = "ফাল্গুন";
monthName = monthLists[10]; //"ফাল্গুন"
}
break;
case 2:
if (date >= 1 && date <= 14) {
date += isLeapYear() ? 17 : 16;
monthName = monthLists[10]; //"ফাল্গুন"
} else {
date -= 14;
monthName = monthLists[11]; //"চৈত্র"
}
break;
case 3:
if (date >= 1 && date <= 13) {
date += 17;
monthName = monthLists[11]; //"চৈত্র"
} else {
date -= 13;
monthName = monthLists[0]; //"বৈশাখ"
}
break;
case 4:
if (date >= 1 && date <= 14) {
date += 17;
monthName = monthLists[0]; //"বৈশাখ"
} else {
date -= 14;
monthName = monthLists[1]; //"জ্যৈষ্ঠ"
}
break;
case 5:
if (date >= 1 && date <= 14) {
date += 17;
monthName = monthLists[1]; //"জ্যৈষ্ঠ"
} else {
date -= 14;
monthName = monthLists[2]; //"আষাঢ়"
}
break;
case 6:
if (date >= 1 && date <= 15) {
date += 16;
monthName = monthLists[2]; //"আষাঢ়"
} else {
date -= 15;
monthName = monthLists[3]; //"শ্রাবণ"
}
break;
case 7:
if (date >= 1 && date <= 15) {
date += 16;
monthName = monthLists[3]; //"শ্রাবণ"
} else {
date -= 15;
monthName = monthLists[4]; //"ভাদ্র"
}
break;
case 8:
if (date >= 1 && date <= 15) {
date += 16;
monthName = monthLists[4]; //"ভাদ্র"
} else {
date -= 15;
monthName = monthLists[5]; //"আশ্বিন"
}
break;
case 9:
if (date >= 1 && date <= 15) {
date += 15;
monthName = monthLists[5]; //"আশ্বিন"
} else {
date -= 15;
monthName = monthLists[6]; //"কার্তিক"
}
break;
case 10:
if (date >= 1 && date <= 14) {
date += 16;
monthName = monthLists[6]; //"কার্তিক"
} else {
date -= 14;
monthName = monthLists[7]; //"অগ্রহায়ণ"
}
break;
case 11:
if (date >= 1 && date <= 14) {
date += 16;
monthName = monthLists[7]; //"অগ্রহায়ণ"
} else {
date -= 14;
monthName = monthLists[8]; //"পৌষ"
}
break;
}
return {"year" : year, "date" : date, "month" : monthName};
}
function isLeapYear() {
var year = timeStamp.getFullYear();
return ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0);
}
String.prototype.convertDigitToBangla = function() {
var convertToBanglaDigit = {'1': '১', '2': '২', '3': '৩', '4' : '৪', '5' : '৫', '6' : '৬', '7' : '৭', '8' : '৮', '9' : '৯', '0' : '০'};
return this.replace(/[1234567890]/g, function(match) {
return convertToBanglaDigit[match];
});
};
document.getElementById("bangla-date").innerHTML = (getBanglaDateAndMonth().date.toString().convertDigitToBangla() + " " + getBanglaDateAndMonth().month + ", " + getBanglaDateAndMonth().year.toString().convertDigitToBangla());
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment