Java 创建一个函数,该函数接受字符串对象并以dd-MM-yyyy格式返回日期对象
我在字符串对象中有日期。我想转换成日期对象Java 创建一个函数,该函数接受字符串对象并以dd-MM-yyyy格式返回日期对象,java,date,date-formatting,Java,Date,Date Formatting,我在字符串对象中有日期。我想转换成日期对象 Date getDateFmString(String dateString) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date convertedCurrentDate = sdf.parse(dateString); return convertedCurrentDate ; } 上述函数返回以下输出 Fri Apr 22 00:00:00 IST 201
Date getDateFmString(String dateString)
{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date convertedCurrentDate = sdf.parse(dateString);
return convertedCurrentDate ;
}
上述函数返回以下输出
Fri Apr 22 00:00:00 IST 2016
- 但我只希望以这种格式“2016-03-01”输出
- 函数应该只接受字符串。
- 函数应返回日期对象。
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
到
希望这能起作用您正在使用错误的格式进行解析,请尝试
String dateString="01-01-2016";
SimpleDateFormat sdfP = new SimpleDateFormat("dd-MM-yyyy");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date convertedCurrentDate = sdfP .parse(dateString);
String date=sdf.format(convertedCurrentDate );
System.out.println(date);
输出:
2016-01-01
01-01-2016
如果希望格式为dd MM yyyy
,则无需定义单独的SimpleDateFormat
对象
String dateString="01-01-2016";
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
Date convertedCurrentDate = sdf.parse(dateString);
String date=sdf.format(convertedCurrentDate );
System.out.println(date);
输出:
2016-01-01
01-01-2016
要设置字符串日期的格式,必须首先使用与字符串相同的日期格式解析字符串To date对象,然后使用上述代码中所示的所需格式对其进行格式化。参见此示例
public Class DateFormatDemo{
public static void main (String args[]) {
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy);
String dateInString = "01/01/2015";
try{
Date date = formatter.parse(dateInString);
System.out.println(date);
System.out.println(formatter.format(date));
}catch(ParseException e){
e.printStackTrace();
}
}
}
这可能会帮助您进行字符串到日期的对象转换
日期
对象没有格式。只有字符串
可以。一个日期
对象将以您告诉它的格式输出。这完全取决于调用.format()
时DateFormat
对象的格式。在Date
对象上调用toString()
方法使用DateFormat
的“dow mon dd hh:mm:ss zzz yyyy”
让我们一步一步来做:
dow mon dd hh:mm:ss zzz yyyy
similar to
Fri Apr 22 00:00:00 IST 2016
因此,这与第二种方法的输出一致。但奇怪的是,代码是如何运行的
String inputStr = "11-11-2012";
DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");
Date inputDate = dateFormat.parse(input);
未定义变量“输入”。
可能的解决方案有哪些:
Date d =new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String dStr = sdf.format(dateString);
System.out.printn(dStr);
我在网上做了很多研究,但我从一位专家那里得到了解决方案
Date getDateFrmString(String dDate)
{
java.sql.Date dDate = new java.sql.Date(new SimpleDateFormat("yyyy-MM-dd").parse(sDate).getTime());
return dDate;
}
这就是我想要的。它的格式不是已经正确了吗?这是字符串对象,我想要它在日期对象中,但它的用途是什么?是否要验证字符串的格式?我必须编写一个函数,该函数接受字符串并以dd-MM-YYYY格式返回日期对象集查看此dup:问题说明输出应格式化为
dd-MM-YYYY
我需要日期对象中的格式,而不是字符串中的格式object@shimbushambu日期没有任何格式检查,您必须使用大写MM
表示一个月。否则,小的mm
代表分钟。我还是像这样,2016年1月22日星期五00:04:00,必须是mm。我想写一个函数,接受字符串并以dd-mm-yyyy格式返回日期。@shimbushambu你的评论毫无意义。日期是一个对象,字符串是可以应用格式的地方。因此,您需要将日期转换为字符串才能显示它。否则Date类将使用您已经看到的默认值。