如何从android中的指定日期获取日期

时间:2013-01-02 08:26:01

标签: android date dayofweek weekday

假设我的日期是02-01-2013

并存储在如下变量中:

String strDate = "02-01-2013";
那么我应该如何得到这个日期的那一天(即星期二)?

4 个答案:

答案 0 :(得分:6)

使用java api中的Calendar类。

Calendar calendar = new GregorianCalendar(2008, 01, 01); // Note that Month value is 0-based. e.g., 0 for January.
int reslut = calendar.get(Calendar.DAY_OF_WEEK);
switch (result) {
case Calendar.MONDAY:
    System.out.println("It's Monday !");
    break;
}

您还可以使用SimpleDateFormaterDate来解析日期

Date date = new Date();
SimpleDateFormat date_format = new SimpleDateFormat("yyyy-MM-dd");
try {
    date = date_format.parse("2008-01-01");
} catch (ParseException e) {
    e.printStackTrace();
}

calendar.setTime(date);

答案 1 :(得分:3)

首先拆分字符串

String[] out = strDate.split("-");
                    s1 = Integer.parseInt(out[0]);
                    s2 = Integer.parseInt(out[1]) - 1;
                    yr = out[2];
char a, b, c, d;
                    a = yr.charAt(0);
                    b = yr.charAt(1);
                    c = yr.charAt(2);
                    d = yr.charAt(3);
                    s3 = Character.getNumericValue(a)*1000 +
                         Character.getNumericValue(b)*100 +
                         Character.getNumericValue(c)*10 +
                         Character.getNumericValue(d);

然后在当天创建一个日历实例

Calendar cal        = Calendar.getInstance();
cal.set(s3, s2, s1);

然后得到一天

cal.get(Calendar.DAY_OF_WEEK);

答案 2 :(得分:1)

将此格式用于日期,日期和时间。

日期dNow =新日期(); SimpleDateFormat ft = new SimpleDateFormat('h yyyy.MM.dd'at'hh:mm:ss a zzz“);

用格式化方法输出对象。 ft.format(dNow)

答案 3 :(得分:0)

我认为基于Android文档建议使用Calendar,

您需要小心,因为第一天1是Sunday,第一个月是January 还要检查你是否可以获得DAY_OF_WEEK,DAY_OF_MONTH等