如何使用的SimpleDateFormat显示当前的日期? [英] How to use SimpleDateFormat to show the current Date?

查看:159
本文介绍了如何使用的SimpleDateFormat显示当前的日期?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图让当前的日期和时间格式,这是我的code:

i'm trying to get the current date and time formatted, this is my code:

Date date = new Date();
SimpleDateFormat FORMATTER = new SimpleDateFormat("yyyyMMdd-HHmm");
String formattedDate=""+FORMATTER.format(date);
Log.d("XXxxxXxXXXXxxxXXXxXxxxX",formattedDate);

事情错了,因为我得到这个字符串: 19700103-0217

这日期不正确,我应该得到的东西是这样的: 20111118-1217

That date is incorrect, I should get something like this: 20111118-1217

如何解决这个问题呢?

推荐答案

好吧,我可以帮你,但我有自己的code。问我,如果你没有得到的东西。

Well, I can help you out but I have my own code. Ask me if you don't get something.

所有你必须​​做一个像类的date.class名称并写入code首先:

First of all you have to make a class of any name like date.class and write the code:

public class Date{
    private Date dt;
    private String stDt;
    private String enDt;

    SRSDDate(){
        dt=new Date();
        int mn;
        int yr;

        mn=dt.getMonth();
        yr=dt.getYear();
        mn=mn+1;
        yr=1900+yr;

        stDt="1/"+mn+"/"+yr;

        switch(yr%4){
            case 0:
                if(mn==2){
                    enDt="29/"+mn+"/"+yr;
                }
                else if(mn==1||mn==3||mn==5||mn==7||mn==8||mn==10||mn==12){
                    enDt="31/"+mn+"/"+yr;
                }
                else{
                    enDt="30/"+mn+"/"+yr;
                }
            break;
            default:
                if(mn==2){
                    enDt="28/"+mn+"/"+yr;
                }
                else if(mn==1||mn==3||mn==5||mn==7||mn==8||mn==10||mn==12){
                    enDt="31/"+mn+"/"+yr;
                }
                else{
                    enDt="30/"+mn+"/"+yr;
                }
            break;
        }
    }
    public String getTodayDate(){
        return (dt.getYear()+1900)+"-"+(dt.getMonth()+1)+"-"+dt.getDate();
    }
    public String getTodayDisplayDate(){
        return dt.getDate()+"/"+(dt.getMonth()+1)+"/"+(dt.getYear()+1900);
    }
    public String getStDt(){
        return stDt;
    }

    public String getEnDt(){
        return enDt;
    }
}

制作类之后,您必须声明如下:

After making the class, you have to declare this:

Calendar FromDateCal=Calendar.getInstance();
DatePickerDialog.OnDateSetListener fd=new DatePickerDialog.OnDateSetListener() {
        public void onDateSet(DatePicker view,int year,int monthOfYear,int dayOfMonth) {
            FromDateCal.set(Calendar.YEAR, year);
            FromDateCal.set(Calendar.MONTH, monthOfYear);
            FromDateCal.set(Calendar.DAY_OF_MONTH, dayOfMonth);
            updateFromDate();
        }
};

现在在其中找到你想要显示例如日期编辑框中:

Now find the edit box in which you want to display the date like:

Date dt=new Date();
FromDateText=(EditText)findViewById(R.id.FromDateText);
FromDateText.setText(dt.getStDt());

现在,你必须显示在编辑框中日期如下:

Now you have to display date on edit box as follows:

private void updateFromDate(){
        int iDay;
        int iMonth;
        int iYear;

        iDay=FromDateCal.get(Calendar.DATE);
        iMonth=FromDateCal.get(Calendar.MONTH);
        iMonth=iMonth+1;
        iYear=FromDateCal.get(Calendar.YEAR);

        String sFDate=iDay+"/"+iMonth+"/"+iYear;
        FromDateText.setText(sFDate);
}

我希望你有我的答案。

I hope you got my answer.

这篇关于如何使用的SimpleDateFormat显示当前的日期?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆