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,这是我的数据2018-07-03 00:00:00+02,但我想得到这个2018-07-03。 如何在Java中减少时间、分、秒和时区?您可以使用DateTimeFormatter LocalDate date = LocalDate.now(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); String text = date.format(formatter); 如果您使用的是

这是我的数据2018-07-03 00:00:00+02,但我想得到这个2018-07-03。
如何在Java中减少时间、分、秒和时区?

您可以使用DateTimeFormatter

  LocalDate date = LocalDate.now();
  DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
  String text = date.format(formatter);
如果您使用的是Java 8,那么最好使用Java.time.LocalDate。如果必须使用java.util.Date,您仍然可以将其转换为LocalDate


您可以使用DateTimeFormatter

  LocalDate date = LocalDate.now();
  DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
  String text = date.format(formatter);
如果您使用的是Java 8,那么最好使用Java.time.LocalDate。如果必须使用java.util.Date,您仍然可以将其转换为LocalDate


您可以将输入转换为ZoneDateTime,然后从中提取LocalDate,如下所示:

String str = "2018-07-03 00:00:00+02".replace(" ", "T"); 
ZonedDateTime zdt = ZonedDateTime.parse(str);
LocalDate ld = zdt.toLocalDate(); // 2018-07-03
注意:我使用“T”替换空格以遵守ZonedDateTime的默认格式

或者更好的是,您可以使用OffsetDateTime代替ZonedDateTime,如


您可以将输入转换为ZoneDateTime,然后从中提取LocalDate,如下所示:

String str = "2018-07-03 00:00:00+02".replace(" ", "T"); 
ZonedDateTime zdt = ZonedDateTime.parse(str);
LocalDate ld = zdt.toLocalDate(); // 2018-07-03
注意:我使用“T”替换空格以遵守ZonedDateTime的默认格式

或者更好的是,您可以使用OffsetDateTime代替ZonedDateTime,如


如果这是Java Date类,则可以使用属于该类的不同方法提取日期/时间的不同部分。 如果d代表日期对象,则d.getYear将获得年份,d.getTime将获得时间,依此类推。 如果是字符串,则可以使用DateTimeFormatter

DateTimeFormatter format1 = DateTimeFormatter.ofPattern("dd/MM/yyyy hh:mm a");  
String formatDateTime = currentDateTime.format(format1);   
System.out.println(formatDateTime); 

如果这是Java Date类,则可以使用属于该类的不同方法提取日期/时间的不同部分。 如果d代表日期对象,则d.getYear将获得年份,d.getTime将获得时间,依此类推。 如果是字符串,则可以使用DateTimeFormatter

DateTimeFormatter format1 = DateTimeFormatter.ofPattern("dd/MM/yyyy hh:mm a");  
String formatDateTime = currentDateTime.format(format1);   
System.out.println(formatDateTime); 
尝试此操作,在formatter.formatdate中传递日期对象

尝试此操作,在formatter.formatdate中传递日期对象

对于包含偏移量的datetime字符串,我将使用OffsetDateTime对其进行解析,然后使用DateTimeFormatter.ISO_LOCAL_DATE对其进行格式化,该日期仅打印日期部分

您必须为用于解析字符串的DateTimeFormatter提供特定的模式,因为该字符串不是标准格式

public static void main(String[] args) {
    String datetime = "2018-07-03 00:00:00+02";
    // parse it with a specific pattern
    OffsetDateTime odt = OffsetDateTime.parse(datetime, 
            DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ssX"));
    // print it using a built-in standardized pattern FOR THE DATE PART ONLY
    System.out.println(odt.format(DateTimeFormatter.ISO_LOCAL_DATE));
}
产量为2018-07-03

这样,您就不必在解析字符串之前对其进行操作。

对于包含偏移量的datetime字符串,我将使用OffsetDateTime对其进行解析,然后使用DateTimeFormatter.ISO_LOCAL_DATE对其进行格式化,该日期只打印日期部分

您必须为用于解析字符串的DateTimeFormatter提供特定的模式,因为该字符串不是标准格式

public static void main(String[] args) {
    String datetime = "2018-07-03 00:00:00+02";
    // parse it with a specific pattern
    OffsetDateTime odt = OffsetDateTime.parse(datetime, 
            DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ssX"));
    // print it using a built-in standardized pattern FOR THE DATE PART ONLY
    System.out.println(odt.format(DateTimeFormatter.ISO_LOCAL_DATE));
}
产量为2018-07-03


这样,您就不必在解析字符串之前对其进行操作。

这是什么数据类型?字符串,日期?我的数据类型是数据。我只想要2018-07-03。2018-07-03或00:00:00+02的预期结果是什么?这是哪一类数据?这不是我所知道的。我只知道至少有两个名为Date的类带有e,它们都设计得很糟糕,而且都早已过时。这是什么数据类型?字符串,日期?我的数据类型是数据。我只想要2018-07-03。2018-07-03或00:00:00+02的预期结果是什么?这是哪一类数据?这不是我所知道的。我只知道至少有两门课叫Date,都是e,都设计得很糟糕,而且都已经过时很久了。请不要教年轻人使用过时的、臭名昭著的、麻烦的SimpleDateFormat课。至少不是第一个选择。而且不是毫无保留的。今天我们有了更好的in和它的DateTimeFormatter。请不要教年轻人使用早已过时且臭名昭著的麻烦的SimpleDateFormat类。至少不是第一个选择。而且不是毫无保留的。今天我们有了更好的in和它的DateTimeFormatter。