الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تعديل التقويم الميلادي الى التقويم الهجري في Jsp ل Portlet

بدأه المظفر بالله في 11 يناير 2010 · 0 رد · 1,350 مشاهدة · في JavaEE
مشاركة: واتساب X فيسبوك تيليجرام
#1

السلام عليكم ورحمة الله وبركاته

اخواني الكرام , الصحيح ان عندي مشكلة تعبت في محاولة حلها , وهي اني اريد التقيوم الهجري بدلا من الميلادي, لدي كود جاهز من احدى البورتال المتوحة المصدر , ما اريده هو تحويل الالتقيوم الميلادي للهجري , الكود حيرني غلبت معاه , وهذا الكود التالي هو الكود الخاص بالـ UI الخاصة باستدعاء التقويم ...

علما بان لدي كود جافا سكربت يرجع لي التاريخ الهجري , فهل يمكن ان استغله (عندي الفانكشن toHdate يجرع لي التاريخ الهجري كامل و toHDay اليوم الهجري فقط toHMounth الشهر الهجري فقط toHYear السنة الهجرية , طبعا ارسل لهم جميعا التاريخ الميلادي كاملا , وهو يعمل بشكل ممتاز.) وجزاكم الله خيرا , ورجاءا يكون باسرع وقت ممكن لاني فعلا لم يبقى لدي وقت حتى اتم هذا الامر :wacko:

<%
int month = GetterUtil.getInteger((String)request.getAttribute("liferay-ui:calendar:month"));
int day = GetterUtil.getInteger((String)request.getAttribute("liferay-ui:calendar:day"));
int year = GetterUtil.getInteger((String)request.getAttribute("liferay-ui:calendar:year"));
String headerPattern = (String)request.getAttribute("liferay-ui:calendar:headerPattern");
DateFormat headerFormat = (DateFormat)request.getAttribute("liferay-ui:calendar:headerFormat");
Set data = (Set)request.getAttribute("liferay-ui:calendar:data");
boolean showAllPotentialWeeks = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:calendar:showAllPotentialWeeks"));
locale = new Locale("ar_JO");
Calendar selCal = CalendarFactoryUtil.getCalendar(timeZone, locale);

selCal.set(Calendar.MONTH, month);
selCal.set(Calendar.DATE, day);
selCal.set(Calendar.YEAR, year);

int selMonth = selCal.get(Calendar.MONTH);
int selDay = selCal.get(Calendar.DATE);
int selYear = selCal.get(Calendar.YEAR);

int maxDayOfMonth = selCal.getActualMaximum(Calendar.DATE);

selCal.set(Calendar.DATE, 1);
int dayOfWeek = selCal.get(Calendar.DAY_OF_WEEK);
selCal.set(Calendar.DATE, selDay);

Calendar curCal = CalendarFactoryUtil.getCalendar(timeZone, locale);

int curMonth = curCal.get(Calendar.MONTH);
int curDay = curCal.get(Calendar.DATE);
int curYear = curCal.get(Calendar.YEAR);

Calendar prevCal = (Calendar)selCal.clone();

prevCal.add(Calendar.MONTH, -1);

int maxDayOfPrevMonth = prevCal.getActualMaximum(Calendar.DATE);
int weekNumber = 1;
%>

<div class="taglib-calendar">
	<table class="lfr-table calendar-panel">

	<c:if test="<%= Validator.isNotNull(headerPattern) || (headerFormat != null) %>">

		<%
		DateFormat dateFormat = headerFormat;

		if (Validator.isNotNull(headerPattern)) {
			dateFormat = new SimpleDateFormat(headerPattern, locale);
		}
		%>

		<tr class="calendar-header">
			<th colspan="7">
                            <script>
                                //var selcDate=new Date( <%= selCal.getTimeInMillis() %>);
                                var selcDate=new Date();
                               // alert(selcDate);

                                var tempDate=toHdate(selcDate );

                        //alert(tempDate);
                                document.write(tempDate);

                                </script>
			</th>
		</tr>
	</c:if>

	<tr class="portlet-section-header results-header">

		<%
		for (int i = 0; i < 7;  i++) {
			int daysIndex = (selCal.getFirstDayOfWeek() + i - 1) % 7;

			String className = StringPool.BLANK;

			if (i == 0) {
				className = "first";
			}
			else if (i == 6) {
				className = "last";
			}
		%>

			<th class="<%= className %>">
				<%= LanguageUtil.get(pageContext, CalendarUtil.DAYS_ABBREVIATION[daysIndex]) %> 
			</th>

		<%
		}
		%>

	</tr>
	<tr>

		<%
		if (((selCal.getFirstDayOfWeek()) == Calendar.MONDAY)) {
			if (dayOfWeek == 1) {
				dayOfWeek += 6;
			}
			else {
				dayOfWeek --;
			}
		}

		maxDayOfPrevMonth = (maxDayOfPrevMonth - dayOfWeek) + 1;

		for (int i = 1; i < dayOfWeek; i++) {
			String className = "calendar-inactive calendar-previous-month";

			if (i == 1) {
				className += " first";
			}
			else if (i == 7) {
				className += " last";
			}
		%>

			<td class="<%= className %>"><%= maxDayOfPrevMonth + i %>  </td>

		<%
		}

		for (int i = 1; i <= maxDayOfMonth; i++) {
			if (dayOfWeek > 7) {
		%>

				</tr>
				<tr>

		<%
				dayOfWeek = 1;
				weekNumber++;
			}

			Calendar tempCal = (Calendar)selCal.clone();

			tempCal.set(Calendar.MONTH, selMonth);
			tempCal.set(Calendar.DATE, i);
			tempCal.set(Calendar.YEAR, selYear);

			boolean hasData = (data != null) && data.contains(new Integer(i));

			String className = "";

			if ((selMonth == curMonth) &&
				(i == curDay) &&
				(selYear == curYear)) {

				className = "calendar-current-day portlet-section-selected";
			}

			if (hasData) {
				className += " has-events";
			}

			if (dayOfWeek == 1) {
				className += " first";
			}
			else if (dayOfWeek == 7) {
				className += " last";
			}

			dayOfWeek++;
		%>

			<td class="<%= className %>">
				<a href="javascript: <%= namespace %>updateCalendar(<%= selMonth %>, <%= i %>, <%= selYear %>);"><span><%= i %></span></a> 
			</td>

		<%
		}

		int dayOfNextMonth = 1;

		for (int i = 7; i >= dayOfWeek; i--) {
			String className = "calendar-inactive calendar-next-month";

			if (dayOfWeek == 1) {
				className += " first";
			}
			else if (i == dayOfWeek) {
				className += " last";
			}
		%>

			<td class="<%= className %>"><%= dayOfNextMonth++ %></td>

		<%
		}

		if (showAllPotentialWeeks && weekNumber < 6) {
		%>

			<tr>

				<%
				for (int i = 1; i <= 7; i++) {
					String className = "calendar-inactive calendar-next-month";

					if (i == 1) {
						className += " first";
					}
					else if (i == 7) {
						className += " last";
					}
				%>

					<td class="<%= className %>"><%= dayOfNextMonth++ %></td>

				<%
				}
				%>

			</tr>

		<%
		}
		%>

	</tr>
	</table>
</div>

عفوا , يرجى نقل الموضوع للقسم المناسب "قسم J2EE"

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…