Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.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 从Instant.now()生成的日期中提取日期、小时和分钟_Java_Datetime_Hour_Zoneddatetime_Java.time.instant - Fatal编程技术网

Java 从Instant.now()生成的日期中提取日期、小时和分钟

Java 从Instant.now()生成的日期中提取日期、小时和分钟,java,datetime,hour,zoneddatetime,java.time.instant,Java,Datetime,Hour,Zoneddatetime,Java.time.instant,我有一个生成日期和时间的代码 ZoneId z = ZoneId.of( "Africa/Nairobi" ); Instant instant = Instant.now(); ZonedDateTime zdt = instant.atZone(z); return zdt.toString(); //2018-03-19T09:03:22.858+03:00[Africa/Nairobi] 是否有一个类似于计时字段的lib可以用来获取日期、小时和分钟 Chrono字段不提取完整的

我有一个生成日期和时间的代码

ZoneId z = ZoneId.of( "Africa/Nairobi" );

Instant instant = Instant.now();

ZonedDateTime zdt = instant.atZone(z);

return zdt.toString();

//2018-03-19T09:03:22.858+03:00[Africa/Nairobi]
是否有一个类似于计时字段的lib可以用来获取日期、小时和分钟


Chrono字段不提取完整的日期。

ZoneDateTime
有一些方法,如
getHour()
getMinute()
,这些方法应该足够了。

ZoneDateTime
有一些方法,如
getHour()
getMinute()
,这样就足够了。

既然您似乎对如何从您的
分区日期时间中获取日期感到困惑,我想补充一下

这是刚刚打印的:

Date         2018-03-19
Year         2018
Month        MARCH
Day of month 19
请查看文档以了解更多方法,包括月数(1到12)的
getMonthValue
。我在底部包括一个链接。由于
ZoneDateTime
类有一个
now
方法,所以您不需要先使用
Instant.now()

如果您想要一个老式的
java.util.Date
对象,第一个答案是:不要。您已经在使用的现代API更易于使用。只有当您无法更改或不想立即更改某些旧API时,才需要
日期
,获取
即时
,并将其转换为:

    Instant instant = Instant.now();
    Date oldfashionedDateObject = Date.from(instant);
    System.out.println("Old-fashioned java.util.Date " + oldfashionedDateObject);
这本书是:

Old-fashioned java.util.Date Mon Mar 19 12:00:05 CET 2018
尽管字符串中表示中欧时间
CET
,但
日期
不包含时区(这使许多人感到困惑)。只有它的
toString
方法(当我将
日期
附加到
字符串
时隐式调用)才能获取JVM的时区设置,并使用它生成
字符串
,而
日期
保持不变

在特殊情况下,您只需要一个表示当前日期时间的
日期
,同样,除非您有非常具体的需要,否则这是不明智的,它非常简单:

    Date oldfashionedDateObject = new Date();
结果与上述相同

链接

由于您似乎对如何从您的
分区日期时间获取日期感到困惑,我想补充一下

这是刚刚打印的:

Date         2018-03-19
Year         2018
Month        MARCH
Day of month 19
请查看文档以了解更多方法,包括月数(1到12)的
getMonthValue
。我在底部包括一个链接。由于
ZoneDateTime
类有一个
now
方法,所以您不需要先使用
Instant.now()

如果您想要一个老式的
java.util.Date
对象,第一个答案是:不要。您已经在使用的现代API更易于使用。只有当您无法更改或不想立即更改某些旧API时,才需要
日期
,获取
即时
,并将其转换为:

    Instant instant = Instant.now();
    Date oldfashionedDateObject = Date.from(instant);
    System.out.println("Old-fashioned java.util.Date " + oldfashionedDateObject);
这本书是:

Old-fashioned java.util.Date Mon Mar 19 12:00:05 CET 2018
尽管字符串中表示中欧时间
CET
,但
日期
不包含时区(这使许多人感到困惑)。只有它的
toString
方法(当我将
日期
附加到
字符串
时隐式调用)才能获取JVM的时区设置,并使用它生成
字符串
,而
日期
保持不变

在特殊情况下,您只需要一个表示当前日期时间的
日期
,同样,除非您有非常具体的需要,否则这是不明智的,它非常简单:

    Date oldfashionedDateObject = new Date();
结果与上述相同

链接

我知道了,但是没有日期。好的,那么.getMonth、.getYear和.getdayOfMonth方法呢?或者您希望所有这些数据都是可格式化的字符串吗?我希望您不是要求
java.util.Date
Date
is-simple
millister
,您希望以什么格式提取日期?您可以使用各自的方法简单地获取年、月和月日,也可以使用DateTimeFormatter格式化ZoneDateTime以获取您喜欢的字符串。或者,始终存在可以从ZoneDateTime获取的LocalDate。你到底想要什么?我知道了,但是没有日期。好的,那么.getMonth、.getYear和.getdayOfMonth方法呢?或者您希望所有这些数据都是可格式化的字符串吗?我希望您不是要求
java.util.Date
Date
is-simple
millister
,您希望以什么格式提取日期?您可以使用各自的方法简单地获取年、月和月日,也可以使用DateTimeFormatter格式化ZoneDateTime以获取您喜欢的字符串。或者,始终存在可以从ZoneDateTime获取的LocalDate。你到底想要什么?你说的“约会”是什么意思?你想把日期、月份和年份分开打电话吗?你说的“得到日期”是什么意思?你想把日期、月份和年份分开打电话吗?谢谢你的信用卡。可悲的是,我没有注意到我对答案有疑问,否则我会自己回答的…谢谢你的信任。可悲的是,我没有注意到我对答案有疑问,否则我会自己回答。。。