您好我想将当前日期转换为此格式YYYY-MM-DD
。但是,它会将日期转换为String
格式,但我想将其转换回Date
格式。那么有人可以就此提出建议吗?
这是我目前的代码
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date();
String datestring = dateFormat.format(date);
答案 0 :(得分:26)
试试这个:
String DATE_FORMAT_NOW = "yyyy-MM-dd";
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT_NOW);
String stringDate = sdf.format(date );
try {
Date date2 = sdf.parse(stringDate);
} catch(ParseException e){
//Exception handling
} catch(Exception e){
//handle exception
}
答案 1 :(得分:4)
使用DateFormat#parse(String)
:
Date date = dateFormat.parse("2013-10-22");
答案 2 :(得分:0)
尝试此功能
public static Date StringToDate(String strDate) throws ModuleException {
Date dtReturn = null;
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-mm-dd");
try {
dtReturn = simpleDateFormat.parse(strDate);
} catch (ParseException e) {
e.printStackTrace();
}
return dtReturn;
}
答案 3 :(得分:0)
使用此函数将Date转换为String
public String convertDateToString(Date date, String format) {
String dateStr = null;
DateFormat df = new SimpleDateFormat(format);
try {
dateStr = df.format(date);
} catch (Exception ex) {
System.out.println(ex);
}
return dateStr;
}
来自Convert Date to String in Java 。并将字符串再次转换为日期
public Date convertStringToDate(String dateStr, String format) {
Date date = null;
DateFormat df = new SimpleDateFormat(format);
try {
date = df.parse(dateStr);
} catch (Exception ex) {
System.out.println(ex);
}
return date;
}
答案 4 :(得分:0)
将日期转换为字符串检查此帖子
Convert java.util.Date to String
要将字符串转换为日期,请尝试使用
import java.text.ParseException;
import java.text.SimpleDateFormat;
public class StringToDate
{
public static void main(String[] args) throws ParseException
{
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss");
String strDate = "14/03/2003 08:05:10";
System.out.println("Date - " + sdf.parse(strDate));
}
}
答案 5 :(得分:0)
如何将日期转换为字符串并再次转换为日期?
LocalDate.now().toString()
2017年1月23日
...和...
LocalDate.parse( "2017-01-23" )
该问题使用与最早版本的Java捆绑在一起的麻烦的旧日期时间类。这些类现在已经遗留下来,取而代之的是Java 8,Java 9及更高版本中内置的java.time类。
确定今天的日期需要一个时区。对于任何特定时刻,日期在全球范围内因地区而异。
如果您未提供,则会应用JVM的当前默认时区。该默认值可以在运行时期间随时更改,因此不可靠。我建议你总是指定你想要的/预期的时区。
ZoneId z = ZoneId.of( "America/Montreal" ) ;
LocalDate ld = LocalDate.now( z ) ;
您所需的YYYY-MM-DD格式符合ISO 8601标准。
在解析/生成字符串时,java.time类默认使用该标准。因此,您只需拨打LocalDate::parse
和LocalDate::toString
,而无需指定格式设置模式。
String s = ld.toString() ;
解析:
LocalDate ld = LocalDate.parse( s ) ;
java.time框架内置于Java 8及更高版本中。这些类取代了麻烦的旧legacy日期时间类,例如java.util.Date
,Calendar
和& SimpleDateFormat
现在位于Joda-Time的maintenance mode项目建议迁移到java.time类。
要了解详情,请参阅Oracle Tutorial。并搜索Stack Overflow以获取许多示例和解释。规范是JSR 310。
从哪里获取java.time类?
ThreeTen-Extra项目使用其他类扩展java.time。该项目是未来可能添加到java.time的试验场。您可以在此处找到一些有用的课程,例如Interval
,YearWeek
,YearQuarter
和more。