0

嗨,如何使用 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 模式显示...或者如果使用 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());
        }

[/code] 知道如何获得该值吗?图片中的示例显示 4:54: PM 所以这意味着在 24 小时内它变为 16:54:00 .... 请任何帮助

谢谢

问候

丹尼尔

4

2 回答 2

1

如果当前语言环境的时间格式需要,则 taglib(反过来使用 和 taglibs)显示 AM/PM选择aui:inputliferay-ui:input-dateliferay-ui:input-time在 Liferay 6.1.1 中,查看html/taglib/ui/input_time/page.jsp.

因此,您绝对应该保留内置行为,该行为会根据当前语言环境显示 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 日期、当前用户的时区或其他日期。看看类中的addEvent方法CalEventLocalServiceImpl就知道怎么做:基本上,你必须用这个CalendarFactoryUtil.getCalendar方法创建一个 Calendar 对象,传递一个语言环境和一个时区,然后你可以设置各种值。

于 2013-05-14T21:52:31.297 回答
0

Liferay UI 部分的文档记录很差,这是我找到的属性http://docs.liferay.com/portal/6.2/taglibs/liferay-ui/input-time.html,但它从未描述如何使用这些属性,这些属性的值是多少。

我在谷歌搜索和实验上浪费了太多时间,我决定改用 JQuery 日期时间选择。

另一种方法是不要使用 liferay-ui:input-time,只需使用您自己的小时和分钟选择输入。

于 2013-07-10T13:09:03.423 回答