3

我有一个代码可以运行以从日历中选择日期,但我想将其设置current_date为上述日历中服务器的日期。并具有client_dateserver_date.

4

4 回答 4

2

这是可能的。正如其他地方所建议的,您应该将日期转换为字符串,原因有两个:

  1. 搜索错误时更容易阅读/理解
  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 回答