Java SimpleDataFormat设置为01
如何在SimpleDateFormat中输入01而不是今天的确切日期 当我使用Java SimpleDataFormat设置为01,java,simpledateformat,Java,Simpledateformat,如何在SimpleDateFormat中输入01而不是今天的确切日期 当我使用 SimpleDateFormat day= new SimpleDateFormat("dd"); 它给了我今天的确切日期。。那么我该如何确定我的具体日期呢 SimpleDateFormat sdf = new SimpleDateFormat("MM-dd-yyyy"); String NOW = (sdf.format(new java.util.Date())); Simple
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));
((月)+“-”(1)+“-”(年))
返回1
,但它应该是01
,但当我运行它时,它只会变成1如果您想用日期的字符串表示创建日期对象,那么可以使用SimpleDataFormat的解析(字符串源)
方法
例如:
SimpleDateFormat sdf = new SimpleDateFormat("MM-dd-yyyy");
Date date = sdf.parse("09-01-2018");
然后,如前所述,如果要将日期对象格式化为特定格式的字符串,只需调用:
sdf.format(日期)
注意:请注意,如果字符串不是有效的日期,
sdf.parse(字符串源)
可能会引发ParseException。如果要使用日期的字符串表示形式创建日期对象,则可以使用SimpleDataFormat的parse(字符串源)
方法
例如:
SimpleDateFormat sdf = new SimpleDateFormat("MM-dd-yyyy");
Date date = sdf.parse("09-01-2018");
然后,如前所述,如果要将日期对象格式化为特定格式的字符串,只需调用:
sdf.format(日期)
注意:请注意,sdf.parse(字符串源代码)
如果字符串不是有效日期,则可能引发ParseException。tl;博士
java.time
现代方法使用java.time类。永远不要使用可怕的遗留类,如Calendar
和SimpleDateFormat
获取当前年份和月份
YearMonth ym = YearMonth.now() ;
得到那个月的第一天
LocalDate ld = ym.atDay( 1 ) ;
指定所需的格式模式
DateTimeFormatter f = DateTimeFormatter.ofPattern( "MM-dd-uuuu" ) ;
String output = ld.format( f ) ;
tl;博士
java.time
现代方法使用java.time类。永远不要使用可怕的遗留类,如Calendar
和SimpleDateFormat
获取当前年份和月份
YearMonth ym = YearMonth.now() ;
得到那个月的第一天
LocalDate ld = ym.atDay( 1 ) ;
指定所需的格式模式
DateTimeFormatter f = DateTimeFormatter.ofPattern( "MM-dd-uuuu" ) ;
String output = ld.format( f ) ;
我建议您避免使用
SimpleDateFormat
类。它不仅早已过时,而且还出了名的麻烦。今天,我们有这么多更好的,谁教你设置这么多括号?我发现你的代码很难读懂。我可以更容易地阅读MONTH+“-”+1+“-”+YEAR
。如果你真的想手工格式化你的日期-你不想你可以只做MONTH+“-01-”+YEAR
。我建议你避免使用SimpleDateFormat
类。它不仅早已过时,而且还出了名的麻烦。今天,我们有这么多更好的,谁教你设置这么多括号?我发现你的代码很难读懂。我可以更容易地阅读MONTH+“-”+1+“-”+YEAR
。如果你真的想手工格式化你的日期-你不想你可以只做MONTH+“-01-”+YEAR
。