2016-12-16 94 views
-1

下面是我用来将天数添加到现有日期的代码..它给了我字符串输出,并且我希望将它再次转换为日期格式。 。我尝试了格式化,但它给出了输出 - >将字符串中的日期转换为日期类型的问题

Date date = sdf.parse(dt); (日期) - 给我 - 星期一05月05日00:00:00 PDT 2008 但我想它作为YYYY-MM/DD

sdf.format(date) - Gives me 2008-05- 05我正在寻找它,但它是一个字符串对象...但我希望将其转换为DATE类型

String dt = "2008-01-01"; // Start date 
    System.out.println("start date "+dt); 
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); 
    Calendar c = Calendar.getInstance(); 
    c.setTime(sdf.parse(dt)); 
    c.add(Calendar.DATE, 125); // number of days to add 
    dt = sdf.format(c.getTime()); 
    System.out.println("c.getTime() "+c.getTime()); 
    System.out.println("end date "+dt); 

    Date date = sdf.parse(dt); 
    System.out.println("last but one date in DATE form -->" +date); 
    System.out.println("last formatted date in string form "+sdf.format(date)); 
+0

'java.util.Date'没有可以覆盖的格式。对于你想要的输出,''System.out.println(“last but one date - >”+ sdf.format(date));' –

+0

@ElliottFrisch OP刚刚从字符串变量'dt'解析了'date'。他为什么要将其格式化为一个字符串呢? – GurV

+0

@GurwinderSingh OP期待'date'保持格式; *我已经尝试格式化它,但它输出:“最后只有一个日期 - > 2008年5月5日星期一00:00:00 PDT”;我想用yyyy-MM-dd格式*。或者我解释这个问题。 –

回答

0

您创建了正确的格式。 SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd”);

但您使用不正确。你应该使用 sdf.format(your_unformated_date);

+0

已经在最后一次sysout中做到了这一点..在我的帖子中我错过了......现在我添加了它.. – javalearner

0

这里是一个示例代码,将日期转换从字符串到使用的SimpleDateFormat类Date类型:

public static void convert() 
{ 
    String str="10:25:35"; 
    SimpleDateFormat sdf=new SimpleDateFormat("hh:mm:ss"); 
    System.out.println(sdf.format(str)); 
} 
相关问题