您好如何使用24小时格式显示允许ui日期选择器的时间字段? 我正在使用
[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模式,如果我想在我的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 ....请任何帮助
感谢的
此致
丹尼尔
答案 0 :(得分:1)
如果当前区域设置的时间格式需要,aui:input
taglib(后者又使用liferay-ui:input-date
和liferay-ui:input-time
taglibs)会显示AM / PM选择框。在Liferay 6.1.1中,查看html/taglib/ui/input_time/page.jsp
中的第36行。
因此,您应该保留内置行为,该行为会根据当前区域设置显示AM / PM选择框。
为了在portlet类中正确获取日期,您可以从EditEventAction
类中获取灵感,这是在Calendar 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中的日期,当前用户的时区等等。查看addEvent
类中的CalEventLocalServiceImpl
方法,了解如何操作:基本上,您必须使用CalendarFactoryUtil.getCalendar
方法创建Calendar对象,并传递区域设置和时区,然后你可以设置各种值。
答案 1 :(得分:0)
Liferay UI部分记录很少,这里是我找到的属性http://docs.liferay.com/portal/6.2/taglibs/liferay-ui/input-time.html,但它从未描述过如何使用这些属性,这些属性的值是什么。
我在google搜索和试验上浪费了太多时间,我决定使用JQuery日期时间选择。
另一种方法是不要使用liferay-ui:输入时间,只需使用你自己的小时和分钟选择输入。