ব্যবহারকারী:আফতাবুজ্জামান/BanglaDate.js
লক্ষ্য করুন: প্রকাশ করার পর, পরিবর্তনগুলো দেখতে আপনাকে আপনার ব্রাউজারের ক্যাশে পরিষ্কার করার প্রয়োজন হতে পারে।
- ফায়ারফক্স / সাফারি: পুনরায় লোড-এ ক্লিক করার সময় শিফট টিপে ধরে রাখুন, অথবা হয় Ctrl-F5 বা Ctrl-R টিপুন (ম্যাকে ⌘-R টিপুন)
- গুগল ক্রোম: Ctrl-Shift-R (ম্যাকে ⌘-Shift-R) টিপুন
- ইন্টারনেট এক্সপ্লোরার / এজ: Ctrl ধরে রাখা অবস্থায় Refresh-এ ক্লিক করুন, অথবা Ctrl-F5 টিপুন
- অপেরা: Ctrl-F5 টিপুন।
//Script by Uttam Singha @ http://www.usingha.com
var mn = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
var beng_month_name = new Array;
beng_month_name[1] = "বৈশাখ";
beng_month_name[2] = "জেঠ";
beng_month_name[3] = "আষাঢ়";
beng_month_name[4] = "হাওন";
beng_month_name[5] = "ভাদ";
beng_month_name[6] = "আশ্বিন";
beng_month_name[7] = "কার্তিক";
beng_month_name[8] = "অগ্রহায়ন";
beng_month_name[9] = "পৌষ";
beng_month_name[10] = "মাঘ";
beng_month_name[11] = "ফাল্গুন";
beng_month_name[12] = "চৈত";
var bWeekdays = new Array("লামুইসিং",
"নিংথৌকাপা",
"লেইপাকপা",
"ইনসাইনসা",
"সাকলসেন",
"ইরেই",
"থাংচা",
"লামুইসিং");
var bmonth_len = "";
var bWeekdays1 = new Array("লাম", "নিং", "লেই", "ইন", "সাক", "ইরে", "থাং", "লাম");
function convert(str) {
var mystr = str.toString();
var outj; // javascript escaped hex
var outj1;
var be = new Array();
be['1'] = "\u09E7";
be['2'] = "\u09E8";
be['3'] = "\u09E9";
be['4'] = "\u09EA";
be['5'] = "\u09EB";
be['6'] = "\u09EC";
be['7'] = "\u09ED";
be['8'] = "\u09EE";
be['9'] = "\u09EF";
be['0'] = "\u09E6";
be[' '] = '';
be['-'] = '-';
outj1 = "";
for (var i = 0; i < mystr.length; i++) {
var ch = mystr.substr(i, 1);
outj = be[ch];
outj1 += outj;
}
return outj1;
}
var mas_len = [0, 30.92569444, 62.63289352, 94.00184028, 125.4761458, 156.4885417, 186.9247338, 216.8066667, 246.3155787, 275.6427546, 305.0935301, 334.9103588, 365.2587564814815];
function ModernDate_to_Julianeday(eyear, emonth, eday) {
var julian_eday;
if (emonth < 3) {
eyear = eyear - 1;
emonth = emonth + 12;
}
julian_eday = Math.floor((365.25 * eyear)) + Math.floor(30.59 * (emonth - 2)) + eday + 1721086.5;
if (eyear < 0) {
julian_eday = julian_eday - 1;
if (((eyear % 4) == 0) && (3 <= emonth)) {
julian_eday = julian_eday + 1;
}
}
if (2299160 < julian_eday) {
julian_eday = julian_eday + Math.floor(eyear * 1.0 / 400) - Math.floor(eyear * 1.0 / 100) + 2;
}
return julian_eday;
}
function BPM_Date(eyear, emonth, eday) {
var country = "Bangladesh";
var str = "";
var startjd = 0.0;
if (country = "Bangladesh") {
startjd = 1938092.48373; //Bangladesh
}
else {
startjd = 1938092.483733333;
}
var nJD = ModernDate_to_Julianeday(eyear, emonth, eday);
if (nJD < startjd) {
str = " Date is not appropriate.\n";
}
else {
var jddiff = nJD - startjd;
var lasteyear = Math.floor(jddiff / 365.2587564814815);
var mesh = startjd + lasteyear * 365.2587564814815;
var lasteday = 0.0;
var ps, ns, bemonth, beday;
for (var i = 0; i < 12; i++) {
ps = mesh + mas_len[i];
ns = mesh + mas_len[i + 1];
if ((nJD >= ps) && (nJD <= Math.floor(ns) + 1.75)) {
bemonth = i + 1;
beday = Math.floor(nJD - ps) + 1;
}
}
var array = [];
for (var i = 0; i < 13; i++)
{
lastday = mesh + mas_len[i];
var nda = new Date(calData(lastday + 1).toDateString());
array.push((nda.getMonth()+1) + "/" + nda.getDate() + "/" + nda.getFullYear());
}
bmonth_len = array.join(",");
}
return new Array(lasteyear + 1, bemonth, beday);
}
function oneDay() {
var now = new Date();
now.setTime(now.getTime() + (now.getTimezoneOffset() + 360) * 60 * 1000);
var eday = now.getDate();
var emonth = now.getMonth();
var eyear = now.getFullYear();
var bcal = BPM_Date(eyear, emonth + 1, eday);
var nJD = ModernDate_to_Julianeday(eyear, emonth + 1, eday);
var bar = Math.floor(nJD + 0.5) % 7 + 1;
var str = convert(bcal[2]) + " " + beng_month_name[bcal[1]] + " " + convert((bcal[0]));
return str;
}
var theDiv = document.getElementById("contentSub");
var content = document.createTextNode(oneDay());
if(document.getElementById("ponji"))
{
var inx=document.getElementById("ponji");
inx.innerHTML = oneDay();
}
theDiv.appendChild(content);
function calData(jd)
{
with(Math){
z1 = jd + 0.5;
z2 = floor(z1);
f = z1 - z2;
if(z2 < 2299161)a = z2;
else {
alf = floor((z2 - 1867216.25)/36524.25);
a = z2 + 1 + alf - floor(alf/4);
}
b = a + 1524;
c = floor((b - 122.1)/365.25);
d = floor(365.25*c);
e = floor((b - d)/30.6001);
days = b - d - floor(30.6001*e) + f;
kday = floor(days);
if(e < 13.5)kmon = e - 1;
else kmon = e - 13;
if(kmon > 2.5)kyear = c - 4716;
if(kmon < 2.5)kyear = c - 4715;
hh1 = (days - kday)*24;
khr = floor(hh1);
kmin = hh1 - khr;
ksek = kmin*60;
kmin = floor(ksek);
ksek = floor((ksek - kmin)*60);
if (kday < 10)kday = " " + kday;
if (khr < 10)khr = "0" + khr;
if (kmin < 10)kmin = "0" + kmin;
if (ksek < 10)ksek = "0" + ksek;
var dstr = mn[kmon - 1] + " " + kday + ", " + kyear + " " + khr + ":" + kmin + ":00";
//var sDate = new Date(Date.parse("03/20/2012", "MM/dd/yyyy"));
s = new Date(dstr);
}
return s;
}
function BPMMaha() {
var dynTable = "";
var now = new Date();
now.setTime(now.getTime() + (now.getTimezoneOffset() + 360) * 60 * 1000);
var day = now.getDate();
var month = now.getMonth();
var year = now.getFullYear();
var bcal = BPM_Date(year, month + 1, day);
var mesh = 1938094.4629 + (bcal[0] - 1) * 365.2587564814815;
var bar = calData(mesh + mas_len[bcal[1] - 1] + 1);
var startingDay = bar.getDay();
var one_day = 1000 * 60 * 60 * 24;
var mr = bmonth_len.split(",");
var diff = Math.ceil((new Date(mr[bcal[1]]) - new Date(mr[bcal[1] - 1])) / (one_day));
var monthLength = diff;
//bcal[2]
var html = '<table class="gridtable">';
html += '<tr><th colspan="7">';
html += beng_month_name[bcal[1]] + " " + convert((bcal[0])) + " সন";
html += '</th></tr>';
html += '<tr>';
for (var i = 0; i <= 6; i++) {
html += '<td style=\"color: red; background: #99ff66; border: 1px solid black; font: 12px Siyam Rupali;\">';
html += bWeekdays1[i];
html += '</td>';
}
html += '</tr><tr>';
var day = 1;
// this loop is for is weeks (rows)
for (var i = 0; i < 9; i++) {
// this loop is for weekdays (cells)
for (var j = 0; j <= 6; j++) {
html += '<td>';
if (day <= monthLength && (i > 0 || j >= startingDay)) {
if (day == bcal[2]) //DD added
{
html += 'আজি<br><font size="3" color="red">' + convert(day) + '</font><br>'; //DD added
}
else {
html += convert(day) + '<br>';
}
day++;
}
html += '</td>';
}
// stop making rows if we've run out of days
if (day > monthLength) {
break;
} else {
html += '</tr><tr>';
}
}
html += '</tr></table>';
return html;
}
if(document.getElementById("panji"))
{
var inx=document.getElementById("panji");
inx.innerHTML = BPMMaha();
}
////////////////////