Java中有没有函数可以用三位数字检索一年中的哪一天?
我想根据yyyy.[DayOfYear]重命名我的文件名。一年中的哪一天应该是3点 数字总是。例如,01-01-2021->2021_001;31-01-2021 -> 2021_031 ; 31-12-2021 -> 2021_365 在Java中是否有任何预定义的方法来获取3位数字?检查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;
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感谢它的帮助!