我有一个代码来运行以从日历中选择日期,但我想在所提到的日历中将current_date
设置为服务器的日期。并且具有将client_date
与server_date
进行比较的功能。
答案 0 :(得分:2)
这是可能的。正如其他地方所建议的那样,您应该将日期转换为字符串有两个原因:
要将当前日期发送到客户端,您可以使用隐藏的表单字段或AJAX请求或Web服务或REST或JSON或JSONP,或者......有太多方法可以执行此操作。
要比较日期,请将字符串转换为Date
对象,然后使用常用方法对它们进行比较(Java中的compareTo()
和<
,==
,{{ JavaScript中的1}}。
答案 1 :(得分:1)
您可以使用以下方式执行此操作:
在Java中
public class YourJavaClass{
public static String getServerDate()
{
Calendar cal = Calendar.getInstance();
return cal.get(Calendar.YEAR) + "-" + cal.get(Calendar.MONTH) + "-" + cal.get(Calendar.DATE);
}
}
在jsp中
$('input.datepicker').datepicker(
{
minDate : new Date(<%out.print(YourJavaClass.getServerDate());%>)
});
答案 2 :(得分:0)
这样做的一种方法是将当前日期从服务器脚本传递到模板,因此当页面呈现时,javascript可以访问它并进行比较。这有明显的问题 - 如果用户将页面打开到第二天,则日期将过时。
其他方法是对后端使用异步调用并从那里获取日期。
答案 3 :(得分:0)
最简单的方法是将两个日期与会话比较到毫秒。两种语言都为它提供了方法。
<强>使用Javascript:强>
<script type="">
var myDate = new Date();
var milliseconds = myDate.getTime();
</script>
Java(JSP):
<script type="text/javascript">
<%!
Date myJavaDate = new Date();
long myJavaMilliseconds = 0L;
myJavaMilliseconds = myJavaDate.getTime();
%>
var myJavaMillisondsInJs = <%= myJavaMilliseconds %>;
</script>
/ *在此处输入代码以比较这些日期* /
如果你想比较服务器的日期,你必须通过Ajax或表格将javatime提交给服务器。