简单日期格式设置为 01



如何在简单日期格式中输入 01 而不是今天的确切日期 当我使用

SimpleDateFormat day= new SimpleDateFormat("dd");

它给了我今天的确切日期..那么我怎么能把我的具体日期放在这个

SimpleDateFormat sdf = new SimpleDateFormat("MM-dd-yyyy");
String NOW = (sdf.format(new java.util.Date()));
SimpleDateFormat month = new SimpleDateFormat("MM");
String MONTH = (month.format(new java.util.Date()));
SimpleDateFormat year = new SimpleDateFormat("yyyy");
String YEAR = (year.format(new java.util.Date()));
String PAST = ((MONTH)+"-"+(1)+"-"+(YEAR));

((MONTH)+"-"+(1)+"-"+(YEAR));返回1,但它应该是01但是当我运行它时,它只变成 1

tl;博士

YearMonth
.now(
ZoneId.of( "America/Montreal" ) 
)
.atDay( 1 )
.format(
DateTimeFormatter.ofPattern( "MM-dd-uuuu" )
)

java.time

现代方法使用java.time类。永远不要使用可怕的遗留类,例如CalendarSimpleDateFormat.

获取当前年份和月份。

YearMonth ym = YearMonth.now() ;

获取该月的第一天。

LocalDate ld = ym.atDay( 1 ) ;

指定所需的格式设置模式。

DateTimeFormatter f =  DateTimeFormatter.ofPattern( "MM-dd-uuuu" ) ;
String output = ld.format( f ) ;

如果要从日期的字符串表示形式中创建Date对象,则可以使用SimpleDateFormatparse(String source)方法。

例如:

SimpleDateFormat sdf = new SimpleDateFormat("MM-dd-yyyy");
Date date = sdf.parse("09-01-2018");

然后,如前所述,如果要将 Date 对象格式化为特定格式的字符串,只需调用:sdf.format(date).

注意:请注意,如果字符串不是有效日期,sdf.parse(String source)可能会抛出 ParseException。

最新更新