Java数据格式化程序
我将日期格式作为格式化程序对象获取,格式为Java数据格式化程序,java,simpledateformat,Java,Simpledateformat,我将日期格式作为格式化程序对象获取,格式为“YYYY-mm-dd hh:mm” 如何格式化输入格式化程序对象以仅获取“YYYY-mm-dd” 我得到的日期格式为 “YYYY-mm-dd hh:mm”作为格式化程序 对象如何格式化输入 仅获取格式化程序对象 “YYYY-mm-dd” 您不能将日期设置为YYYY-mm-dd它应该是yyy-mm-dd。要获取YY-MM-dd中的日期,代码如下: SimpleDateFormat formatter = new SimpleDateFormat("yyy
“YYYY-mm-dd hh:mm”
如何格式化输入格式化程序对象以仅获取“YYYY-mm-dd”代码>
我得到的日期格式为
“YYYY-mm-dd hh:mm”作为格式化程序
对象如何格式化输入
仅获取格式化程序对象
“YYYY-mm-dd”
您不能将日期设置为YYYY-mm-dd它应该是yyy-mm-dd。要获取YY-MM-dd中的日期,代码如下:
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
String formattedDate = formatter.format(todaysDate);
就是您要查找的内容。使用SimpleDateFormat
String myDateString = "2009-04-22 15:51";
SimpleDateFormat inFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
SimpleDateFormat outFormat = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(outFormat.format(inFormat.parse(myDateString)));
如果您获得的日期格式为“YYYY-mm-dd hh:mm”
,并且希望它为“yyy-mm-dd”
,我建议您只使用inputDate.substring(0,10)
在任何一种情况下,都要注意以下潜在问题:)在Java中,示例格式化日期为yyyy MM dd
Format formatter = new SimpleDateFormat("yyyy-MM-dd");
Calendar now = Calendar.getInstance();
System.out.println("Now: "+formatter.format(now.getTime()) );
试试这个:
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
String formattedDate = formatter.format(todaysDate);
使用此代码:
Date date=new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
String formattedDate = formatter.format(date);
System.out.println("formatted time==>" + formattedDate);
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
其他答案,如答案是正确的
作为替代方案,java.util.Date/Calendar类的第三部分开源替代品包括一个内置格式,以满足您的需要
/©2013巴西尔布尔克。此源代码可以由任何对此承担全部责任的人自由使用。
//导入org.joda.time.*;
//导入org.joda.time.format.*;
字符串stringIn=“2011-04-07”;
//将完整日期的格式设置为四位数的年份、两位数的月份和两位数的月份(yyyy-MM-dd)。
DateTimeFormatter formatter=ISODateTimeFormat.date().withZone(DateTimeZone.forID(“欧洲/伦敦”)).withLocale(Locale.UK);
DateTime DateTime=formatter.parseDateTime(stringIn).withTimeAtStartOfDay();
String stringOut=formatter.print(日期时间);
转储到控制台
System.out.println(“dateTime:+dateTime.toString());
System.out.println(“stringOut:+stringOut”);
当运行时
dateTime:2011-04-07T00:00:00.000+01:00
断线:2011-04-07
是的,SimpleDataFormat是您需要的
这个问题有这么多好答案,下面是另一个更通用的解决方案
public static String getDateInFormate(String oldFormate , String newFormate , String dateToParse){
//old "yyyy-MM-dd hh:mm"
//new yyyy-MM-dd
//dateTopars 2011-04-13 05:00
String formatedDate="";
Format formatter = new SimpleDateFormat();
Date date;
try {
date = (Date)((DateFormat) formatter).parse(dateToParse);
formatter = new SimpleDateFormat(newFormate);
formatedDate = formatter.format(date);
} catch (ParseException e) {
e.printStackTrace();
}
return formatedDate;
}
大写字母Y
将不起作用。您还需要在第Date-Date=(Date)formatter.parse(“2011-04-13 05:00”)行解析格式化程序代码>。还需要用try…ctach包围它,因为它可能会抛出ParseException
您应该接受以下答案之一作为问题的解决方案,或者在仍然没有答案的情况下更新您的问题。请注意SimpleDateFormat
不是线程安全的,并且是常见的错误源。改用DateTimeFormatter
public static String getDateInFormate(String oldFormate , String newFormate , String dateToParse){
//old "yyyy-MM-dd hh:mm"
//new yyyy-MM-dd
//dateTopars 2011-04-13 05:00
String formatedDate="";
Format formatter = new SimpleDateFormat();
Date date;
try {
date = (Date)((DateFormat) formatter).parse(dateToParse);
formatter = new SimpleDateFormat(newFormate);
formatedDate = formatter.format(date);
} catch (ParseException e) {
e.printStackTrace();
}
return formatedDate;
}
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
String strDate = entry_date;
System.out.println("strDate*************"+strDate);
Date date = null;
try {
date = sdf.parse(strDate);
} catch (ParseException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
Date yesterday =subtractDay( date);
String requiredDate = df.format(yesterday);
System.out.println("110 days before*******************"+requiredDate);
public static Date subtractDay(Date date) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.DATE, -110);`enter code here`
return cal.getTime();
}