在Java中,将给定日期减去一毫秒
我有一个值为Thu Nov 21 00:00:00 IST 2019的日期字段expiryDate,但我试图通过从Thu Nov 20 23:59:59 IST 2019的时间中删除一毫秒来将endDate时间移到前一天在Java中,将给定日期减去一毫秒,java,milliseconds,java.util.date,Java,Milliseconds,Java.util.date,我有一个值为Thu Nov 21 00:00:00 IST 2019的日期字段expiryDate,但我试图通过从Thu Nov 20 23:59:59 IST 2019的时间中删除一毫秒来将endDate时间移到前一天 我们有什么方法可以从给定的日期中删除毫秒。有。我刚刚尝试了上面的方法getTime返回毫秒到给定的日期。 减去一毫秒就是给我一个正确的输出。 新的日期毫秒给我的日期格式 谢谢@Elliott Frisch是的。我刚刚尝试了上面的方法getTime返回毫秒到给定的日期。 减去一毫
我们有什么方法可以从给定的日期中删除毫秒。有。我刚刚尝试了上面的方法getTime返回毫秒到给定的日期。 减去一毫秒就是给我一个正确的输出。 新的日期毫秒给我的日期格式
谢谢@Elliott Frisch是的。我刚刚尝试了上面的方法getTime返回毫秒到给定的日期。 减去一毫秒就是给我一个正确的输出。 新的日期毫秒给我的日期格式 谢谢@Elliott Frischjava.time 避免可怕的日期时间类,这些类从JSR310开始就是遗留的。现在被现代的java.time类所取代 您可以轻松地来回转换。调用新的转换方法addd到旧类
Instant instant = myJavaUtilDate.toInstant() ;
然后再回来
java.util.Date myJavaUtilDate = Date.from( instant ) ;
减去一毫秒
Instant oneMilliEarlier = instant.minusMillis( 1 ) ;
半开
但我建议你不要采取这种方法。不要以时间的最后一刻来追踪时间跨度
你试图追踪一天中的最后一刻是有问题的。你正在失去最后一毫秒的时间。这样做会留下一段距离,直到第二天的第一刻。当切换到更精细的时间切片时,例如某些系统(如Postgres等数据库)使用的微秒,以及其他软件(如java.time类)使用的纳秒,您会遇到更糟糕的问题
一种更好的方法是在日期时间处理中常用的半开放方法。时间跨度的开始是包含的,而结束是独占的
所以一整天都是从一天中的第一刻开始的,通常是00:00:00,但并不总是如此!,直到但不包括第二天的第一刻
提示:要处理这样的时间跨度,请添加三个额外的库来访问Interval类
关于java.time
该框架内置于Java8及更高版本中。这些类取代了麻烦的旧日期时间类,例如,&
要了解更多信息,请参阅。并搜索堆栈溢出以获得许多示例和解释。规格是
该项目现已启动,建议迁移到类
您可以直接与数据库交换java.time对象。使用兼容的或更高版本。不需要字符串,也不需要java.sql.*类
从哪里获得java.time类
、和更高版本-标准Java API的一部分,带有捆绑实现。
Java9添加了一些次要功能和修复。
和
大多数java.time功能都在中向后移植到Java6和Java7。
更高版本的Android捆绑包实现了java.time类。
对于早期的Android java.time
避免可怕的日期时间类,这些类从JSR310开始就是遗留的。现在被现代的java.time类所取代
您可以轻松地来回转换。调用新的转换方法addd到旧类
Instant instant = myJavaUtilDate.toInstant() ;
然后再回来
java.util.Date myJavaUtilDate = Date.from( instant ) ;
减去一毫秒
Instant oneMilliEarlier = instant.minusMillis( 1 ) ;
半开
但我建议你不要采取这种方法。不要以时间的最后一刻来追踪时间跨度
你试图追踪一天中的最后一刻是有问题的。你正在失去最后一毫秒的时间。这样做会留下一段距离,直到第二天的第一刻。当切换到更精细的时间切片时,例如某些系统(如Postgres等数据库)使用的微秒,以及其他软件(如java.time类)使用的纳秒,您会遇到更糟糕的问题
一种更好的方法是在日期时间处理中常用的半开放方法。时间跨度的开始是包含的,而结束是独占的
所以一整天都是从一天中的第一刻开始的,通常是00:00:00,但并不总是如此!,直到但不包括第二天的第一刻
提示:要处理这样的时间跨度,请添加三个额外的库来访问Interval类
关于java.time
该框架内置于Java8及更高版本中。这些类取代了麻烦的旧日期时间类,例如,&
要了解更多信息,请参阅。并搜索堆栈溢出以获得许多示例和解释。规格是
该项目现已启动,建议迁移到类
您可以直接与数据库交换java.time对象。使用兼容的或更高版本。不需要字符串,也不需要java.sql.*类
从哪里获得java.time类
、和更高版本-标准Java API的一部分,带有捆绑实现。
Java9添加了一些次要功能和修复。
和
大多数java.time功能都在中向后移植到Java6和Java7。
更高版本的Android捆绑包实现了java.time类。
对于较早的Android日期,b=new Datea.getTime-1;你为什么要去美国
ng日期?可能是因为它在问题中明确包含为标记。也许OP对它有一些要求。如果没有,请考虑移到java. Time.Dead B=新DATE.GETTIME-1;为什么要使用Date?可能是因为它在问题中明确包含为标记。也许OP对它有一些要求。如果没有,请考虑移动到JavaTime.为什么要使用日期?几乎没有任何正当的理由使用旧的Java遗留日期api。考虑使用LoalDead和类似的类API。@ ZabuZa有很多有效的原因来使用日期,例如使用任何日期的许多API /库,包括java运行时库中的许多API。是的,这是我几乎没有提到的。我认为最好在您自己的代码中尽可能长时间地使用非日期,然后在实际需要将其提供给旧API时转换为非日期。不管怎样,我还是留个便条吧。你为什么用Date?几乎没有任何正当的理由使用旧的Java遗留日期api。考虑使用LoalDead和类似的类API。@ ZabuZa有很多有效的原因来使用日期,例如使用任何日期的许多API /库,包括java运行时库中的许多API。是的,这是我几乎没有提到的。我认为最好在您自己的代码中尽可能长时间地使用非日期,然后在实际需要将其提供给旧API时转换为非日期。不管怎样,我还是把它留作便条吧。