一. 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));
});
}
});