md *_*zaz 1 java date exception unparseable
我只想要Month,Year
明智的输出,但我遇到了问题.这是一个Exception
的Unparseable date: "Apr 5, 2018"
.我已将日期存储在Bill_Date
Column中sqlite
,并且其格式"Apr 5, 2018"
在其字段中.那么我怎样才能只获得该格式的月份和年份(Apr, 2018)
.这是我的代码如下:
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collection;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Locale;
public class Demo2 {
private static Connection con;
private static String query;
private static PreparedStatement PStat,PStat2;
private static ResultSet res,res2;
private static String Bill_Date;
public static void main(String args[])
{
try
{
con=Database.Database();
query="select Bill_Date from DailySales where Bill_Date='Apr 5, 2018'";
PStat=con.prepareStatement(query);
res=PStat.executeQuery();
while(res.next())
{
Bill_Date=res.getString("Bill_Date");
}
SimpleDateFormat month=new SimpleDateFormat("MMMM,yyyy",Locale.ENGLISH);
SimpleDateFormat dateformat=new SimpleDateFormat("MMM-dd,YYYY");
Date date=dateformat.parse(Bill_Date);
String MONTH=month.format(date);
System.out.println(MONTH);
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
Run Code Online (Sandbox Code Playgroud)
它有这个错误.
java.text.ParseException: Unparseable date: "Apr 5, 2018"
at java.text.DateFormat.parse(Unknown Source)
at Demo2.main(Demo2.java:34)
Run Code Online (Sandbox Code Playgroud)
两个问题:
Y
意味着所谓的"周年",这与年份不同.用y
s代替.-
日期字符串中不存在的格式.使格式有空格(或使数据具有空格-
).用这个:
SimpleDateFormat dateformat = new SimpleDateFormat("MMM d,yyyy");
Run Code Online (Sandbox Code Playgroud)