EL表达式 easyui年月

一. jsp input框 日期只显示年月日(jsp中 el表达式截取字符串长度)

//1.引入标签
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
//2.checkIn.checkInTime为原字符串
${fn:substring(checkIn.checkInTime, 0, 10)}
//3.checkIn.checkInTime的11到16位等于'00:00'则赋值null,否则为checkIn.checkInTime的11到16位
<input type="hidden"  id="checkInTimeHHMMSS" name="checkInTimeHHMMSS" value="${fn:substring(checkIn.checkInTime, 11, 16)=='00:00'?null:fn:substring(checkIn.checkInTime, 11, 16)}" readonly="readonly">

el表达式扩展

//使用functions函数来获取list的长度
${fn:length(list)}

fn:contains(string, substring)   
//假如参数string中包含参数substring,返回true   

fn:containsIgnoreCase(string, substring)   
//假如参数string中包含参数substring(忽略大小写),返回true   

fn:endsWith(string, suffix)   
//假如参数 string 以参数suffix结尾,返回true   

fn:escapeXml(string)   
//将有非凡意义的XML (和HTML)转换为对应的XML character entity code,并返回   

fn:indexOf(string, substring)   
//返回参数substring在参数string中第一次出现的位置   

fn:join(array, separator)   
//将一个给定的数组array用给定的间隔符separator串在一起,组成一个新的字符串并返回。   

fn:length(item)   
//返回参数item中包含元素的数量。参数Item类型是数组、collection或者String。假如是String类型,返回值是String中的字符数。   

fn:replace(string, before, after)   
//返回一个String对象。用参数after字符串替换参数string中所有出现参数before字符串的地方,并返回替换后的结果   

fn:split(string, separator)   
//返回一个数组,以参数separator 为分割符分割参数string,分割后的每一部分就是数组的一个元素   

fn:startsWith(string, prefix)   
//假如参数string以参数prefix开头,返回true   

fn:substring(string, begin, end)   
//返回参数string部分字符串, 从参数begin开始到参数end位置,包括end位置的字符   

fn:substringAfter(string, substring)   
//返回参数substring在参数string中后面的那一部分字符串   

fn:substringBefore(string, substring)   
//返回参数substring在参数string中前面的那一部分字符串   

fn:toLowerCase(string)   
//将参数string所有的字符变为小写,并将其返回   

fn:toUpperCase(string)   
//将参数string所有的字符变为大写,并将其返回   

fn:trim(string)   
//去除参数string 首尾的空格,并将其返回 

//截取字符串!使用! 
<c:if test="${fn:length(原字符串)>100 }">${ fn:substring( 原字符串 ,0,100)} ...</c:if>
<c:if test="${fn:length(原字符串)<=100 }">${  原字符串 }</c:if>

<fmt:formatDate value="${isoDate}" type="both"/>
//2004-5-31 23:59:59
<fmt:formatDate value="${date}" type="date"/>
//2004-4-1
<fmt:formatDate value="${isoDate}" type="time"/>
//23:59:59
<fmt:formatDate value="${isoDate}" type="date" dateStyle="default"/>
//2004-5-31
<fmt:formatDate value="${isoDate}" type="date" dateStyle="short"/>
//04-5-31
<fmt:formatDate value="${isoDate}" type="date" dateStyle="medium"/>
//2004-5-31
<fmt:formatDate value="${isoDate}" type="date" dateStyle="long"/>
//2004年5月31日
<fmt:formatDate value="${isoDate}" type="date" dateStyle="full"/>
//2004年5月31日 星期一
<fmt:formatDate value="${isoDate}" type="time" timeStyle="default"/>
//23:59:59
<fmt:formatDate value="${isoDate}" type="time" timeStyle="short"/>
//下午11:59
<fmt:formatDate value="${isoDate}" type="time" timeStyle="medium"/>
//23:59:59
<fmt:formatDate value="${isoDate}" type="time" timeStyle="long"/>
//下午11时59分59秒
<fmt:formatDate value="${isoDate}" type="time" timeStyle="full"/>
//下午11时59分59秒 CDT
<fmt:formatDate value="${date}" type="both" pattern="EEEE, MMMM d, yyyy HH:mm:ss Z"/>
//星期四, 四月 1, 2004 13:30:00 -0600
<fmt:formatDate value="${isoDate}" type="both" pattern="d MMM yy, h:m:s a zzzz/>
//31 五月 04, 11:59:59 下午 中央夏令时
<fmt:formatDate value="${xx}" pattern="dd/MM/yyyy HH:mm aa"/>
<fmt:formatDate value="${xx}" pattern="dd/MM/yyyy hh:mm aa"/>  
//对于0点显示的结果不一样
//h:小时,从1到12,分上下午 范围:01:00 AM~12:59AM
//H:小时,从0到23         范围:00:00 AM~23:59AM

格式模式:
d 月中的某一天。一位数的日期没有前导零。
dd 月中的某一天。一位数的日期有一个前导零。
ddd 周中某天的缩写名称,在 AbbreviatedDayNames 中定义。
dddd 周中某天的完整名称,在 DayNames 中定义。
M 月份数字。一位数的月份没有前导零。
MM 月份数字。一位数的月份有一个前导零。
MMM 月份的缩写名称,在 AbbreviatedMonthNames 中定义。
MMMM 月份的完整名称,在 MonthNames 中定义。
y 不包含纪元的年份。如果不包含纪元的年份小于 10,则显示不具有前导零的年份。
yy 不包含纪元的年份。如果不包含纪元的年份小于 10,则显示具有前导零的年份。
yyyy 包括纪元的四位数的年份。
gg 时期或纪元。如果要设置格式的日期不具有关联的时期或纪元字符串,则忽略该模式。
h 12 小时制的小时。一位数的小时数没有前导零。
hh 12 小时制的小时。一位数的小时数有前导零。
H 24 小时制的小时。一位数的小时数没有前导零。
HH 24 小时制的小时。一位数的小时数有前导零。
m 分钟。一位数的分钟数没有前导零。
mm 分钟。一位数的分钟数有一个前导零。
s 秒。一位数的秒数没有前导零。
ss 秒。一位数的秒数有一个前导零。


js判断变量是否为空要写3个条件

var i;
if(i == "" || i == null || i == "null")

var j;
if(j != "" && j != null && j != "null")

String 类型的 yyyy-mm-dd hh:mm:ss转化为Date类型的

 String string = "2017-04-20 00:00:00";
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date d1;
        try {
            d1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(string);
            System.out.println("DateTime d1>>>>>>: " + d1);
            //d1的结果为:Thu Apr 20 00:00:00 CST 2017
            String d2 = format.format(d1);
            System.out.println("DateTime d2>>>>>>: " + d2);
            //d2的结果为:2017-04-20 00:00:00
            Date d3;
            d3 = format.parse(d2);
            System.out.println("DateTime d3>>>>>>: " + format.format(d3));
            //d3的结果为:2017-04-20 00:00:00
        } catch (ParseException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }

easyUI时间框支显示年月
这里写图片描述

//jsp代码
<td class="my_td" width="4%" align="right">月份</td>
<td class="my_td" width="5%">
    <input id="date1" name="beginTime" data-options="required:false" style="width: 100px"/>
</td>

//js代码
 $(function () {
     var db = $('#date1');
     db.datebox({
         onShowPanel: function () {//显示日趋选择对象后再触发弹出月份层的事件,初始化时没有生成月份层
             span.trigger('click'); //触发click事件弹出月份层
             //fix 1.3.x不选择日期点击其他地方隐藏在弹出日期框显示日期面板
             if (p.find('div.calendar-menu').is(':hidden')) p.find('div.calendar-menu').show();
             if (!tds) setTimeout(function () {//延时触发获取月份对象,因为上面的事件触发和对象生成有时间间隔
                 tds = p.find('div.calendar-menu-month-inner td');
                 tds.click(function (e) {
                     e.stopPropagation(); //禁止冒泡执行easyui给月份绑定的事件
                     var year = /\d{4}/.exec(span.html())[0],//得到年份
                     month = parseInt($(this).attr('abbr'), 10); //月份,这里不需要+1
                     db.datebox('hidePanel')//隐藏日期对象
                     .datebox('setValue', year + '-' + month); //设置日期的值
                 });
             }, 0);
             yearIpt.unbind();//解绑年份输入框中任何事件
         },
         parser: function (s) {
             if (!s) return new Date();
             var arr = s.split('-');
             return new Date(parseInt(arr[0], 10), parseInt(arr[1], 10) - 1, 1);            
         },
         //getMonth返回的是0开始的,忘记了。。已修正}
         formatter: function (d) { return d.getFullYear() + '-' + (d.getMonth() + 1);        
     });
     var p = db.datebox('panel'), //日期选择对象
         tds = false, //日期选择对象中月份
         aToday = p.find('a.datebox-current'),
         yearIpt = p.find('input.calendar-menu-year'),//年份输入框
         //显示月份层的触发控件
         span = aToday.length ? p.find('div.calendar-title span') ://1.3.x版本
         p.find('span.calendar-text'); //1.4.x版本
     if (aToday.length) {//1.3.x版本,取消Today按钮的click事件,重新绑定新事件设置日期框为今天,防止弹出日期选择面板        
         aToday.unbind('click').click(function () {
             var now=new Date();            
             db.datebox('hidePanel').datebox('setValue', now.getFullYear() + '-' + (now.getMonth() + 1));
         });
     }
 });
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值