2013-05-14 48 views
0

嗨有如何顯示允許使用24小時格式的時間字段的日期選擇器? I'f我使用合金UI時間格式24小時Liferay 6

[code] 

<% 
      Calendar dob = CalendarFactoryUtil.getCalendar(); 
     dob.setTime(new Date()); 
     %> 

     <aui:input name="schedule_msg" model="<%= Message_Schedule.class %>" 
     bean="<%= msch %>" value="<%= now %>" label="Schedule Time"/> 



[/code] 

它顯示AM/PM模式...或者,如果使用AM/PM模式如何獲得價值?一般來說,如果我想在我的Portlet類中獲取價值就這樣 [代碼]

int day = ParamUtil.getInteger(request, "schedule_msgDay"); 
     int month = ParamUtil.getInteger(request, "schedule_msgMonth"); 
     int year = ParamUtil.getInteger(request, "schedule_msgYear"); 
     int hour = ParamUtil.getInteger(request, "schedule_msgHour"); 
     int min = ParamUtil.getInteger(request, "schedule_msgMinute"); 

     try 
     { 

      msgSchedule.setSchedule_msg(PortalUtil.getDate(month, day, year, hour, min, new PortalException())); 
     }catch(Exception e) 
     { 
      msgSchedule.setSchedule_msg(new Date()); 
     } 

[/代碼] 任何想法如何獲取價值? 例如在圖片顯示它4:54:PM所以這意味着在24小時內就成了16點54分00秒....請任何幫助

感謝的

問候

丹尼爾

回答

1

如果當前語言環境的時間格式需要它,則aui:input taglib(依次使用liferay-ui:input-dateliferay-ui:input-time標記庫)顯示AM/PM選擇框。在Liferay 6.1.1中,看看html/taglib/ui/input_time/page.jsp中的第36行。

因此,您應該保持內置行爲,該行爲顯示取決於當前語言環境的AM/PM選擇框。

爲了在您的portlet類中正確獲取日期,您可以從EditEventAction類中獲得靈感,這是在添加,更新或刪除日曆Portlet中的事件時調用的Struts操作。事情是這樣的:

int startDateMonth = ParamUtil.getInteger(actionRequest, "startDateMonth"); 
int startDateDay = ParamUtil.getInteger(actionRequest, "startDateDay"); 
int startDateYear = ParamUtil.getInteger(actionRequest, "startDateYear"); 
int startDateHour = ParamUtil.getInteger(actionRequest, "startDateHour"); 
int startDateMinute = ParamUtil.getInteger(actionRequest, "startDateMinute"); 
int startDateAmPm = ParamUtil.getInteger(actionRequest, "startDateAmPm"); 

if (startDateAmPm == Calendar.PM) { 
    startDateHour += 12; 
} 

之後,如果你想從這些數值得到Date對象,它來決定這些值是否代表UTC日期,在當前用戶的時區或什麼是很重要的。看看CalEventLocalServiceImpl類中的addEvent方法知道該怎麼做:基本上,您必須使用CalendarFactoryUtil.getCalendar方法創建一個Calendar對象,傳遞一個語言環境和一個時區,然後可以設置各種值。

+0

我看到Thank's:D ... IT的工作:) – dmh 2013-05-16 06:36:46

0

Liferay UI部分記錄不完整,這裏是我發現的屬性http://docs.liferay.com/portal/6.2/taglibs/liferay-ui/input-time.html,但它從來沒有描述如何使用這些屬性,這些屬性的值是什麼。

我浪費了太多的時間在Google和實驗上,我決定使用JQuery日期選擇代替。

另一種方式是不要使用liferay-ui:input-time,只是用你自己的小時和分鐘來選擇輸入。

相關問題