Java日期格式化程序

时间:2011-04-07 12:24:47

标签: java simpledateformat

我将日期格式设为"YYYY-mm-dd hh:mm"格式化程序对象。

如何格式化输入格式化程序对象以仅获取"YYYY-mm-dd";

12 个答案:

答案 0 :(得分:24)

  

我的日期格式为   “YYYY-mm-dd hh:mm”作为格式化程序   宾语。我如何格式化输入   formatter对象只能得到   “YYYY-MM-DD”;

您不能将日期设为 YYYY-mm-dd 它应该 yyyy-MM-dd 。要在yyyy-MM-dd中获取日期,请输入以下代码:

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
String formattedDate = formatter.format(todaysDate);

答案 1 :(得分:5)

Format formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm");
        Date date;
        try {
            date = (Date)((DateFormat) formatter).parse("2011-04-13 05:00");
            formatter = new SimpleDateFormat("yyyy-MM-dd");
            String s = formatter.format(date);
            System.out.println(s);
        } catch (ParseException e) {
            e.printStackTrace();
        }

答案 2 :(得分:3)

使用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)));

答案 3 :(得分:2)

如果您的格式为"YYYY-mm-dd hh:mm",并且希望"YYYY-mm-dd",我建议您使用inputDate.substring(0, 10)

无论哪种方式,谨防潜在的Y10k bugs:)

答案 4 :(得分:1)

样本格式日期为Java中的yyyy-MM-dd

Format formatter = new SimpleDateFormat("yyyy-MM-dd");
Calendar now = Calendar.getInstance();
System.out.println("Now: "+formatter.format(now.getTime()) );

答案 5 :(得分:1)

答案 6 :(得分:0)

SimpleDateFormat正是您要找的。

答案 7 :(得分:0)

试试这个:

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
String formattedDate = formatter.format(todaysDate);

答案 8 :(得分:0)

使用此代码:

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");

答案 9 :(得分:0)

one by user2663609等其他答案都是正确的。

作为替代方案,java.util.Date / Calendar课程的第三部分开源替换Joda-Time包含一个满足您需求的内置格式。

// © 2013 Basil Bourque. This source code may be used freely forever by anyone taking full responsibility for doing so.
// import org.joda.time.*;
// import org.joda.time.format.*;

String stringIn = "2011-04-07";

// Returns a formatter for a full date as four digit year, two digit month of year, and two digit day of month (yyyy-MM-dd).
DateTimeFormatter formatter = ISODateTimeFormat.date().withZone( DateTimeZone.forID( "Europe/London" ) ).withLocale( Locale.UK );
DateTime dateTime = formatter.parseDateTime( stringIn ).withTimeAtStartOfDay();
String stringOut = formatter.print( dateTime );

转储到控制台...

System.out.println( "dateTime: " + dateTime.toString() );
System.out.println( "stringOut: " + stringOut );

跑步时......

dateTime: 2011-04-07T00:00:00.000+01:00
stringOut: 2011-04-07

答案 10 :(得分:0)

这个问题有很多好的答案!! ,这是另一个更通用的解决方案

var limit:NSInteger = 1000
        var skip:NSInteger = 0
        query.limit = limit
        query.skip = skip

答案 11 :(得分:0)

 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();
    }