我有一个代码可以运行以从日历中选择日期,但我想将其设置current_date
为上述日历中服务器的日期。并具有client_date
与server_date
.
问问题
1905 次
4 回答
2
这是可能的。正如其他地方所建议的,您应该将日期转换为字符串,原因有两个:
- 搜索错误时更容易阅读/理解
- 客户端和服务器之间的“当前时间”总是不同的
要将当前日期发送到客户端,您可以使用隐藏的表单字段或 AJAX 请求或 Web 服务或 REST 或 JSON 或 JSONP 或......好吧,有太多方法可以做到这一点。
要比较日期,请将字符串转换为Date
对象,然后使用常用方法来比较它们(compareTo()
在 Java 中和JavaScript 中的 ,<
)。==
>
于 2012-07-24T13:22:52.323 回答
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());%>)
});
于 2012-07-24T13:12:01.190 回答
0
一种方法是将当前日期从您的服务器脚本传递到模板,因此当页面呈现时,javascript 可以访问它并进行比较。这有一个明显的问题 - 如果用户将页面保持打开到第二天,则日期将过时。
另一种方法是对后端使用异步调用并从那里获取日期。
于 2012-07-24T13:05:57.270 回答
0
最简单的方法是将两个日期与会话进行比较,以毫秒为单位。两种语言都为其提供了方法。
Javascript:
<script type="">
var myDate = new Date();
var milliseconds = myDate.getTime();
</script>
爪哇(JSP):
<script type="text/javascript">
<%!
Date myJavaDate = new Date();
long myJavaMilliseconds = 0L;
myJavaMilliseconds = myJavaDate.getTime();
%>
var myJavaMillisondsInJs = <%= myJavaMilliseconds %>;
</script>
/* 在此处放置代码以比较这些日期 */
如果要比较 dateas 服务器端,则必须通过 Ajax 或表单将 javatime 提交到服务器。
于 2012-07-24T13:12:51.323 回答