按下按钮时将日期和时间传递给textviews - Android

时间:2014-03-19 02:33:13

标签: android date time

所以我有一个按钮,当我点击当前日期和时间时,将显示两个TextView,一个用于日期,另一个用于时间。我的问题是我不知道如何分开日期和时间,因为它显示了完整的当前日期。有人可以帮助我,我是Android开发的新手。这是我的代码。

public class Mydate extends Activity {
    Button b1;
    TextView tv, tv2;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        b1 = (Button) findViewById(R.id.b1);
        tv = (TextView) findViewById(R.id.lbl1);
        tv2 = (TextView) findViewById(R.id.lbl2);


        b1.setOnClickListener(new click());
    }

    class click implements Button.OnClickListener {
        public void onClick(View v) {
            Date d = new Date();

            tv.setText(d.toString());
        }
    }
}

2 个答案:

答案 0 :(得分:0)

首先,我建议您开始使用Calendar类而不是Date,因为不推荐使用许多Date方法。要使用您已有的内容,请在创建此类Date对象后

Date d = new Date();

您可以使用除toString()之外的方法调用来访问该对象的各个部分。你应该替换这一行

tv.setText(d.toString());

代码沿着

// To set the text as the date like MM/DD/YEAR
tv.setText(d.getMonth() + "/" + d.getDay() + "/" + d.getYear());

// To set the text as the time
tv.setText(d.getHours() + ":" + d.getMinutes());

您可以使用我的评论中的链接来阅读有关日期/日历对象可以使用的所有方法。

答案 1 :(得分:0)

您可以使用SimpleDateFormat类以所需格式格式化日期。

请查看此链接,了解您的示例。

例如:

String dateStr = "04/05/2010"; 

SimpleDateFormat curFormater = new SimpleDateFormat("dd/MM/yyyy"); 
Date dateObj = curFormater.parse(dateStr); 
SimpleDateFormat postFormater = new SimpleDateFormat("MMMM dd, yyyy"); 

String newDateStr = postFormater.format(dateObj); 

更新

详细的例子在这里,我建议你通过这个例子来理解SimpleDateFormat类的概念。

最终解决方案:

Calendar c = Calendar.getInstance();
System.out.println("Current time => " + c.getTime());

SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy");
String formattedDate = df.format(c.getTime());