如何比较客户端日期和服务器日期
How do you compare the client date and server date?
我有一个代码,用于从日历中选择日期,但我想将current_date
设置为上述日历中服务器的日期。并具有client_date
与server_date
进行比较的功能。
这是可能的。正如其他地方所建议的,您应该将日期转换为字符串,原因有两个:
- 搜索错误时更易于阅读/理解
- 客户端和服务器之间的"当前时间"总是不同的
要将当前日期发送到客户端,您可以使用隐藏的表单字段或 AJAX 请求或 Web 服务或 REST 或 JSON 或 JSONP 或...好吧,方法太多了。
要比较日期,请将字符串转换为Date
对象,然后使用常用的方法进行比较(在Java中compareTo()
,在JavaScript中<
,==
,>
(。
您可以使用以下方式执行此操作:
在爪哇语中
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());%>)
});
最简单的方法是将两个日期与对话进行比较到毫秒。两种语言都提供了方法。
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>
/* 在此处输入代码以比较这些日期 */
如果你想比较dateas服务器端,你必须通过Ajax或表单将javatime提交给服务器。
一种方法是将当前日期从服务器脚本传递到模板,这样当页面呈现时,javascript 可以访问它并进行比较。这有明显的问题 - 如果用户将页面保持打开状态直到第二天,则该日期将过时。
另一种方法是使用对后端的异步调用并从那里获取日期。
相关文章:
- 将客户端特定的日期格式返回到服务器MVC4
- 使用JavaScript将客户端日期/时间字符串转换为JSON日期/时间串
- 使用 JavaScript 的客户端日期/时间戳一致(考虑时区)
- 从客户端的对象数组中获取最新日期的优雅方法是什么
- 如何比较客户端日期和服务器日期
- 基于客户端日期格式的Javascript日期验证
- 如何使用客户端时区将数据库时间戳输出为客户端中的日期戳
- 引导日期选择器占用客户端PC时间,如何从服务器设置默认时间
- 日期编辑 在客户端设置日期值
- 服务器和客户端时区上的日期时间差异
- 从客户端的 mongo _id 中提取日期
- 想要显示服务器 UTC 日期时间,而不考虑客户端计算机的日期时间
- 当从客户端从ajax调用检索时,我在服务器上的日期时间增加了12.30小时
- 从JavaScript客户端发送到.NET的字符串格式的UTC日期正在转换为DateTime
- 获取客户端's的日期格式名称
- 将PHP响应日期转换为客户端本地时间
- 获取Javascript中的客户端日期和时间格式
- 根据所选日期从客户端填充表格
- Javascript客户端日期格式
- 按照客户端日期时间格式显示日期