Input Date 对象
Input Date 对象是 HTML5 新增的。
Input Date 对象表示使用了 type="date" 属性的 HTML <input> 元素 。
注意:Internet Explorer 或 Firefox 不支持用 type="date" 属性的 <input> 元素。
访问 Input Date 对象
你可以用个使用 getElementById() 函数来访问使用 type="date" 属性的 <input> 元素 :
var x = document.getElementById("myDate");尝试一下
提示: 你同样可以通过表单的元素集合来访问 Input Date 对象。
创建 Input Date 对象
你可以使用 document.createElement() 方法来创建使用 type="date" 属性的 <input> 元素:
var x = document.createElement("INPUT");
x.setAttribute("type", "date");尝试一下
Input Date 对象属性
Property | 描述 |
---|---|
autocomplete | 设置或返回日期字段的 autocomplete 属性值 |
autofocus | 设置或返回日期字段在页面加载后是否自动获取焦点 |
defaultValue | 设置或返回日期字段默认的值 |
disabled | 设置或返回日期字段是否可用 |
form | 返回使用日期字段的表单引用 |
list | 返回包含了日期字段的 datalist 引用 |
max | 设置或返回日期字段的 max 属性值 |
min | 设置或返回日期字段的 min 属性值 |
name | 设置或返回日期字段的 name 属性值 |
readOnly | 设置或返回日期字段是否只读 |
required | 设置或返回日期字段在表单中是否为必填字段 |
step | 设置或返回日期字段的 step 属性值 |
type | 返回日期字段的表单类型 |
value | 设置或返回日期字段的 value 属性值 |
标准属性和事件
Input Date 对象同样支持标准 属性 和 事件。
如您还有不明白的可以在下面与我留言或是与我探讨QQ群308855039,我们一起飞!
使用JSP最重要的优势之一,就是可以使用所有Java API。本章将会详细地讲述Java中的Date类,它在java.util包下,封装了当前日期和时间。
Date类有两个构造函数。第一个构造函数使用当前日期和时间来初始化对象。
Date( )
第二个构造函数接受一个参数,这个参数表示从1970年1月1日凌晨至所要表示时间的毫秒数。
Date(long millisec)
获取Date对象后,您就能够使用下表列出的所有方法:
序号 | 方法 & 描述 |
---|---|
1 | boolean after(Date date)如果比给定的日期晚,则返回true,否则返回false |
2 | boolean before(Date date)如果比给定的日期早,则返回true,否则返回false |
3 | Object clone( )获取当前对象的一个副本 |
4 | int compareTo(Date date)如果与给定日期相等,则返回0,如果比给定日期早,则返回一个负数,如果比给定日期晚,则返回一个正数 |
5 | int compareTo(Object obj)与 compareTo(Date) 方法相同,如果 obj 不是Date类或其子类的对象,抛出ClassCastException异常 |
6 | boolean equals(Object date)如果与给定日期相同,则返回true,否则返回false |
7 | long getTime( )返回从1970年1月1日凌晨至此对象所表示时间的毫秒数 |
8 | int hashCode( )返回此对象的哈希码 |
9 | void setTime(long time)使用给定参数设置时间和日期,参数time表示从1970年1月1日凌晨至time所经过的毫秒数 |
10 | String toString( )将此对象转换为字符串并返回这个字符串 |
获取当前日期和时间
使用JSP编程可以很容易的获取当前日期和时间,只要使用Date对象的toString()方法就行了,就像下面这样:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*, javax.servlet.*" %>
<html>
<head>
<title>显示当前时间与日期</title>
</head>
<body>
<h1>显示当前时间与日期</h1>
<%
Date date = new Date();
out.print( "<h2 align=\"center\">" +date.toString()+"</h2>");
%>
</body>
</html>
将上面的代码保存在 main.jsp 文件中,然后访问 http://localhost:8080/testjsp/main.jsp,运行结果如下:
显示当前时间与日期
Sat Jun 25 17:54:34 CST 2016
刷新 http://localhost:8080/testjsp/main.jsp,就可以发现每次刷新所得到的秒数都不相同。
日期比较
就像我在开头所提到的,您可以在JSP脚本中使用任何Java方法。如果您想要比较两个日期,
可以参照下面的方法来做:
使用getTime()方法得到毫秒数,然后比较毫秒数就行了。
使用before(),after(),equals()方法。比如,new Date(99,2,12).before(new Date(99,2,18))返回true。
使用compareTo()方法,这个方法在Comparable接口中定义,在Date中实现。
使用SimpleDateFormat格式化日期
SimpleDateFormat使用一种地区敏感的方式来格式化和解析日期,它允许您使用自定义的模式来格式化日期和时间。
对CurrentDate.jsp稍作修改,得到如下修改后的代码:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*" %>
<%@ page import="javax.servlet.*,java.text.*" %>
<html>
<head>
<title>显示当前时间与日期</title>
</head>
<body>
<h1>显示当前时间与日期</h1>
<%
Date dNow = new Date( );
SimpleDateFormat ft =
new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss");
out.print( "<h2 align=\"center\">" + ft.format(dNow) + "</h2>");
%>
</body>
</html>
再次编译 main.jsp,然后访问 http://localhost:8080/testjsp/main.jsp,就可以得到如下结果:
显示当前时间与日期
2016-06-25 17:57:53
SimpleDateFormat格式码
要指定模式字符串,需要使用下表列出的格式码:
字符 | 描述 | 示例 |
---|---|---|
G | 时代标识符 | AD |
y | 4位数年份 | 2001 |
M | 月 | July or 07 |
d | 日 | 10 |
h | 12小时制, A.M./P.M. (1~12) | 12 |
H | 24小时制 | 22 |
m | 分钟 | 30 |
s | 秒 | 55 |
S | 毫秒 | 234 |
E | 星期 | Tuesday |
D | 一年中的某天 | 360 |
F | 一个月中某星期的某天 | 2 (second Wed. in July) |
w | 一年中的某星期 | 40 |
W | 一个月中的某星期 | 1 |
a | A.M./P.M. 标记 | PM |
k | 一天中的某个小时 (1~24) | 24 |
K | 一天中的某个小时,A.M./P.M. (0~11) | 10 |
z | 时区 | Eastern Standard Time |
' | 文本分隔 | Delimiter |
" | 单引号 |
如您还有不明白的可以在下面与我留言或是与我探讨QQ群308855039,我们一起飞!
多站长友友们,都喜欢在自己网站的底部加入网站已运行多少天的代码。今天有用户过来询问此功能的实现方法,就把以前在网站收集的几段代码分享出来。有需要就拿去吧。
示例1:
<script language = "JavaScript"type = "text/javascript" > //添加网站的上线时间 var urodz = new Date("11/18/2016"); var now = new Date(); var ile = now.getTime() - urodz.getTime(); var dni = Math.floor(ile / (1000 * 60 * 60 * 24)); document.write(dni+"天"); </script>
代码运行结果:
1058天
注:
1、此示例只能计算出开始时间到现在相距多天
2、将 11/18/2016 修改成自己网站的上线时间即可;
示例2:
<span id="span"></span> <script type="text/javascript"> function runtime(){ // 初始时间,日/月/年 时:分:秒 X = new Date("11/18/2016 8:32:00"); Y = new Date(); T = (Y.getTime()-X.getTime()); M = 24*60*60*1000; a = T/M; A = Math.floor(a); b = (a-A)*24; B = Math.floor(b); c = (b-B)*60; C = Math.floor((b-B)*60); D = Math.floor((c-C)*60); //信息写入到DIV中 span.innerHTML = "本站勉强运行: "+A+"天"+B+"小时"+C+"分"+D+"秒" } setInterval(runtime, 1000); </script>
运行结果:
本站勉强运行: 1058天13小时34分46秒
注:
1、此代码输出的时间,其秒数是动态变化的
2、将 11/18/2016 8:32:00 修改成网站的上线时间
示例代码:
PHP函数
<?php function Sec2Time($time){ //设置时区,如果需要去掉注释即可 //date_default_timezone_set('Asia/Shanghai'); $stime = strtotime($time); $times = time() - $stime; if(is_numeric($times)){ $value = array( "years" => 0, "days" => 0, "hours" => 0, "minutes" => 0, "seconds" => 0, ); if($times >= 31556926){ $value["years"] = floor($times / 31556926); $times = ($times % 31556926); } if($times >= 86400){ $value["days"] = floor($times / 86400); $times = ($times % 86400); } if($times >= 3600){ $value["hours"] = floor($times / 3600); $times = ($times % 3600); } if($times >= 60){ $value["minutes"] = floor($times / 60); $times = ($times % 60); } $value["seconds"] = floor($times); return (array) $value; }else{ return (bool) FALSE; } } ?>
函数调用:
<?php //可以修改成自己网站的初始时间 $time = Sec2Time('2016-08-11 00:00:00'); echo $time['years'].'年'.$time['days'].'天'.$time['hours'].'小时'; // $time['minutes'] 分 // $time['seconds'] 秒 ?>
运行结果:
3年62天2小时
*请认真填写需求信息,我们会在24小时内与您取得联系。