Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中的最小日期_Java_Date - Fatal编程技术网

Java中的最小日期

Java中的最小日期,java,date,Java,Date,Java中的最小日期值是多少?如果您将Java.util.date作为时间戳,您可以这样做 dated d=新日期(0L)您将看到它代表1970年1月1日星期四01:00:00 GMT 正如前面指出的,可以将负值传递给日期构造函数。如果我们这样做并使用包含era的日期格式,我们可以看到: Date d = new Date(Long.MIN_VALUE); DateFormat df = new SimpleDateFormat("EEE, d MMM yyyy G HH:mm:ss Z");

Java中的最小日期值是多少?

如果您将
Java.util.date
作为时间戳,您可以这样做

dated d=新日期(0L)
您将看到它代表1970年1月1日星期四01:00:00 GMT


正如前面指出的,可以将负值传递给日期构造函数。如果我们这样做并使用包含era的日期格式,我们可以看到:

Date d = new Date(Long.MIN_VALUE);
DateFormat df = new SimpleDateFormat("EEE, d MMM yyyy G HH:mm:ss Z");
System.out.println(df.format(d));

显示:Sun,12月2日,公元前292269055年16:47:04+0000

不要忘记日期构造函数愉快地接受负值

Date date = new Date(Long.MIN_VALUE);
返回

太阳12月2日22:47:04 BDT 292269055

我想那大概是大爆炸恐龙的时代:)

编辑

正如martin clayton所回答的,您可以使用Calendar类来检查纪元。这将输出0,代表BCE:

Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date(Long.MIN_VALUE));
System.out.println(calendar.get(Calendar.ERA));

这与日历类相同

试试这个:

Date d = new Date( Long.MIN_VALUE );
System.out.println( d );
您将看到:

Sun Dec 02 16:47:04 GMT 292269055

但是默认的日期格式不包括era,即此日期的BCE。

其他答案可能是正确的,但使用过时的类

java.time 旧的日期时间类(java.util.date/.Calendar等)已经被内置在Java8和更高版本中的框架所取代

time类受ThreeTen Extra项目的启发,由该项目定义,由该项目扩展,由该项目向后移植到Java6和Java7,并在该项目中适应Android。看

在时间线上的某一时刻,使用的分辨率为。给定一个,使用。对于a(偏移+异常规则),使用,但就其性质而言,没有定义最小值,也没有。对于没有时间和时区的仅日期值,请使用。对于不带日期和时区的仅时间值,请使用。对于没有时区的日期时间,请使用

  • =
    -100000000-01-01T00:00Z
  • =
    -99999999-01-01T00:00:00+18:00
  • =
    -99999999-01-01
  • =
    00:00
  • =
    -99999999-01-01T00:00:00
  • =
    -99999999
  • =
    -18:00
    (但实际上是
    -12:00
注意:小心使用这些值作为某种标志或特殊含义。许多其他软件库和数据库可能不支持这些极值

对于标志或特殊含义,如非空的“无可用值”,我建议选择任意时刻,但避免在时间上向后或向前走到极端。也许是,1970年的第一个时刻,UTC,1970-01-01T00:00:00Z。在Java中定义为常量:

由于
Date
标记为Deprecated
,我认为应该有另一种方法来解决这个问题,所以我研究了一些方法,发现了这种方法

你也可以使用Long.MIN_值,在我写这篇文章的时候,我没有搜索它,甚至/所以我也不记得它。

LocalDateTime最小值定义支持的最小LocalDateTime,'-99999999-01-01T00:00:00'。 这是最短日期开始时午夜的本地日期时间

公共静态最终LocalDateTime最小值;这是MIN语法

import java.time.LocalDateTime;
public class Main {
  public static void main(String[] args) {
    LocalDateTime a = LocalDateTime.MIN;

    System.out.println(a);
  }
}

最短日期是什么意思?请看这条线索,当然是@qrtt1《大爆炸》的复制品。除非你碰巧擅长数学和元物理,但这似乎是在未来(292269055年),而不是在过去。似乎该参数被解释为正值。@Grodriguez-那一年的纪元是多少?;-)@塔尔斯基,不多。因此使用约达。它大约是公元前3亿年,不完全是大爆炸;)@亚当:是的,这是关于恐龙时代的,我只是懒得编辑答案:)不正确:
java.util.Date
类没有被弃用(但应该是)。它的几个方法已弃用,但不是整个类。而且,这个答案对我来说没有多大价值。我只是再检查一遍,你是对的。它的一些构造函数和方法是,但不是全部