【问题标题】:Date not coming in desired format日期未以所需格式出现
【发布时间】:2014-02-07 13:56:10
【问题描述】:

在我的应用程序中,我使用的是日历视图。所以,我使用这个tutorial 绘制了一个自定义日历视图。因为我想要dd-MM-yyyy 中的选定日期格式,所以为此我更改了这一行

df = new SimpleDateFormat("yyyy-MM-dd", Locale.US);

进入这个,

df = new SimpleDateFormat("dd-MM-yyyy", Locale.US);

在我运行我的应用程序时更改该行后,我得到了这个输出,

但是当我选择任何单元格时,它会给出正确的日期格式,

我哪里错了?

整个代码与tutorial相同。我只改了一行。

请帮忙。

谢谢。

【问题讨论】:

    标签: android date calendar calendarview


    【解决方案1】:

    CalendarAdapter 类中无需更改日期格式。

    CalendarAdapter中使用这个。

    df = new SimpleDateFormat("yyyy-MM-dd", Locale.US);
    

    CalendarView.java显示时间时可以使用这个

    df = new SimpleDateFormat("dd-MM-yyyy", Locale.US);
    

    【讨论】:

    • 我已经在CalendarView.java 中更改了这样的df = new SimpleDateFormat("dd-MM-yyyy", Locale.US); 行,但没有发生任何事情..
    • 正如你所说,我没有在CalendarAdapter 中更改线路,但在CalendarView 更改线路时,应用程序崩溃了!
    • 我是这样改的,DateFormat df = new SimpleDateFormat("dd-MM-yyyy", Locale.US); String str=df.format(selectedGridDate); showToast(str);这样的做法对吗?
    • 我在哪里显示 Toast.. 我这样改变了,DateFormat df = new SimpleDateFormat("dd-MM-yyyy", Locale.US);字符串 str=df.format(selectedGridDate);显示吐司(str);这是正确的方法吗?
    • 我认为那里有问题..现在尝试不直接更改日期格式的新事物。但在整个应用程序中获取"yyyy-MM-dd" 格式,然后将字符串日期转换为另一个日期。请参考这个parse-some-string-date-to-another-format
    【解决方案2】:

    改一下

    String gridvalueString = separatedTime[2].replaceFirst("^0*","");// taking last part of date. ie; 2 from 2012-12-02.
    int gridvalue = Integer.parseInt(gridvalueString);
    

    String gridvalueString = separatedTime[0].replaceFirst("^0*","");// taking last part of date. ie; 2 from 2012-12-02.
    int gridvalue = Integer.parseInt(gridvalueString);
    

    因为我认为您的日期格式类似于“dd-MM-yyyy”而不是“yyyy-MM-dd”

    【讨论】:

    • 试过这个。但yyyy-MM-dd 的结果相同
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-29
    • 1970-01-01
    • 2015-06-07
    • 1970-01-01
    • 2018-04-06
    • 1970-01-01
    相关资源
    最近更新 更多