2014-10-17 51 views
0

Android/Java语言相当新颖;有很多obj-c的经验。Android - 更改SimpleDateFormat模板

是否可以更改SimpleDateFormat的初始模板,以便每次需要更改时都不必创建新实例?

我问,因为这是我曾经能够在obj-c做的事情。我查看了SimpleDateFormat的文档,并没有看到任何内容,但认为我会仔细检查这里。

的我想要实现会是这样的一个例子:

// * I've excluded try/catch for simplicity 

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-dd-MM"); 
    sdf.parse(someDateObj); 

    if (someDateObj==null) { 
     // * setTemplate not real, 
     // * just example of what I'm trying to do... 
     sdf.setTemplate("MM-dd-yyyy"); 
     sdf.parse(someDateObj); 
    } 

是这样的可能吗?提前致谢。

+0

我硝基甲苯thnk这是可能的,但为什么你想设置模板时,你已经格式化SDF objct – koutuk 2014-10-17 18:47:56

回答

3

您可以使用applyPattern method来提供新的模式。

实施例:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); 
System.out.println(sdf.parse("2014-10-17")); 
sdf.applyPattern("MM-dd-yyyy"); 
System.out.println(sdf.parse("10-17-2014")); 

输出:

Fri Oct 17 00:00:00 PDT 2014 
Fri Oct 17 00:00:00 PDT 2014 

此方法appears to exist in Android为好。

+0

谢谢,@rgettman!正是我所期待的。 – Warblr 2014-10-17 19:10:03

1

尝试:

sdf.applyPattern("newpattern"); 
+0

我的不好。快速审查。 – 2014-10-17 19:44:26

+0

没关系... – brso05 2014-10-17 19:45:26