Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.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/4/video/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 - Fatal编程技术网

Java中有没有函数可以用三位数字检索一年中的哪一天?

Java中有没有函数可以用三位数字检索一年中的哪一天?,java,Java,我想根据yyyy.[DayOfYear]重命名我的文件名。一年中的哪一天应该是3点 数字总是。例如,01-01-2021->2021_001;31-01-2021 -> 2021_031 ; 31-12-2021 -> 2021_365 在Java中是否有任何预定义的方法来获取3位数字?检查 LocalDate的实例可以使用String.format或使用进行格式化。后者允许获取年份和日期,但是,这些值用'-'分隔,必要时可以替换 例如: import java.time.LocalDate;

我想根据yyyy.[DayOfYear]重命名我的文件名。一年中的哪一天应该是3点 数字总是。例如,01-01-2021->2021_001;31-01-2021 -> 2021_031 ; 31-12-2021 -> 2021_365 在Java中是否有任何预定义的方法来获取3位数字?

检查

LocalDate
的实例可以使用
String.format
或使用进行格式化。后者允许获取年份和日期,但是,这些值用
'-'
分隔,必要时可以替换

例如:

import java.time.LocalDate;
导入java.time.format.DateTimeFormatter;
公共类MyClass{
公共静态void main(字符串参数[]){
LocalDate today=LocalDate.now();
DateTimeFormatter yearDayOfYear=DateTimeFormatter.ISO_序数_日期;
System.out.printf(“%s->%4d_uu%03d%n”,今天,今天。getYear(),今天。getDayOfYear());
System.out.printf(“%s->%s%n”,今天,今天.format(yearDayOfYear).replace('-','''.');
}
}
输出:

2021-02-03 -> 2021_034
2021-02-03 -> 2021_034
检查

LocalDate
的实例可以使用
String.format
或使用进行格式化。后者允许获取年份和日期,但是,这些值用
'-'
分隔,必要时可以替换

例如:

import java.time.LocalDate;
导入java.time.format.DateTimeFormatter;
公共类MyClass{
公共静态void main(字符串参数[]){
LocalDate today=LocalDate.now();
DateTimeFormatter yearDayOfYear=DateTimeFormatter.ISO_序数_日期;
System.out.printf(“%s->%4d_uu%03d%n”,今天,今天。getYear(),今天。getDayOfYear());
System.out.printf(“%s->%s%n”,今天,今天.format(yearDayOfYear).replace('-','''.');
}
}
输出:

2021-02-03 -> 2021_034
2021-02-03 -> 2021_034

这里有两个独立的问题——检索一年中的某一天和在左边填充0。你问的是哪一个?左边的@Sweeper padding 0s显然是最后一个选项。获取日期并不困难,但我的问题是如何在没有任何填充的情况下默认获取3位数的日期。这里有两个独立的问题-检索一年中的日期,并在左侧填充0。你问的是哪一个?左边的@Sweeper padding 0s显然是最后一个选项。获取日期并不困难,但我的问题是,在默认情况下,不使用任何填充来获取3位数的日期。它不会返回3位数。对于01-01-2021,它返回1,而不是001.DecimalFormat df=新的DecimalFormat(“000”);System.err.println(df.format(LocalDate.now().getDayOfYear())@ShivamThakur提供了一个自定义格式的示例。@AlexRudenko感谢它的帮助!它不返回3位数字。对于01-01-2021,它返回1,而不是001.DecimalFormat df=新的DecimalFormat(“000”);System.err.println(df.format(LocalDate.now().getDayOfYear())@ShivamThakur提供了一个自定义格式的示例。@AlexRudenko感谢它的帮助!