当前位置: 首页 > 知识库问答 >
问题:

javascript日期之间的差异。valueOf()和java日期。getTime()[重复]

叶国兴
2023-03-14

目前我正在尝试将日期计算从javascript转换为java,因为我想将它用于Android开发。所以在javascript中,我使用了date.valueOf()方法,它将日期转换为自1970年1月1日以来经过的毫秒。在java中,具有相同功能的方法称为date.getTime()。在java和javascript留档中,描述完全相同,但当我插入相同的日期时,我得到了两个完全不同的值。例如:

Java代码

Date date = new Date(2011, 10, 1);
System.out.println(date.getTime()); //prints: 61278249600000

Javascriptvalue()

const date = new Date(2011, 10, 1);
console.log(date.valueOf()); //prints: 1320102000000

所以我的问题是:

  • 为什么会这样?(或者我做错了什么?)
  • 我如何更正代码?

如果有人能帮我,那就太棒了。

共有1个答案

马沛
2023-03-14

差异不是Java的getTime和JavaScript的valueOf之间的差异,而是Java的Date构造函数。年份参数是自1900年以来的年份。因此,等效的Java代码是:

Date date = new Date(110, 10, 1);
//                   ^−−− 2010 - 1900

这是不使用java的众多原因之一。util。日期课程。

 类似资料:
  • 问题内容: 如何找到两个日期之间的差异? 问题答案: 通过使用Date对象及其毫秒值,可以计算出差异: 您可以通过将毫秒除以1000来将秒转换为秒,然后将结果转换为整数来获得秒数(作为整数/整数):(除去代表毫秒的小数部分): 然后可以通过除以60并将其转换为整数,然后除以60并将其转换为整数,然后以相同的方式获得更长的时间单位来获得整数。由此,可以创建一个功能,以时间单位的最大值获得一个较低的单

  • 我已经搜索了4个小时了,但是还没有找到一个用JavaScript计算两个日期(年、月和天)之间差异的解决方案,比如:2010年4月10日是3年、x月和y天之前。 有很多解决方案,但它们只提供了日、月或年的格式差异,或者它们不正确(意味着没有考虑一个月或闰年的实际天数,等等)。做那件事真的有那么难吗? 我看了一下: http://momentjs.com/->只能输出年、月或天的差异 http://

  • 问题内容: 我想得到两个Java Date对象之间的区别。我使用了Joda-Time库。但是问题是我得到的天数差异大于实际的天数差异。 这是我的代码段: 这是我的输出: 在这里,为什么将“ 06/22/2010”设为1月22日?有人遇到类似的问题吗? 帮我朋友..提前感谢.. 问题答案: 月份是MM 在您的情况下: DateFormat formatter = new SimpleDateForm

  • 问题内容: 如何计算JavaScript中两个Date()对象的差异,而只返回差异中的月数? 任何帮助将是巨大的:) 问题答案: “差异中的月数”的定义要经过很多解释。:-) 您可以从JavaScript日期对象获取年,月和日。根据您要查找的信息,可以使用这些信息来计算两个时间点之间有多少个月。 例如,现成的,它找出两个日期之间有多少 整月 ,而不计算部分月份(例如,不包括每个日期所在的月份):

  • 我的发票上有两个日期, 什么是得到这些日期之间的区别的最佳方法? 提前道谢!

  • 我正在尝试使用QueryDSL计算用户年龄和日期差。 但失败时出现此错误 谢谢