Java SimpleDataFormat.format(日期)配置

Java SimpleDataFormat.format(日期)配置,java,calendar,timezone,simpledateformat,zk,Java,Calendar,Timezone,Simpledateformat,Zk,我正在使用Zk Calendar开发一个类似Google的日历,我有一个关于java.text.simpleDataFormat的问题,下面是一些代码 1) 。如何获取首字母大写的日和月,这可能吗 这是我目前使用的代码 private final SimpleDateFormat dformat = new SimpleDateFormat("EEEE dd-MMMMM-yyyy HH:mm:ss a"); private void printDateTester() { final

我正在使用Zk Calendar开发一个类似Google的日历,我有一个关于
java.text.simpleDataFormat
的问题,下面是一些代码

1) 。如何获取
首字母大写的
,这可能吗

这是我目前使用的代码

private final SimpleDateFormat dformat = new SimpleDateFormat("EEEE dd-MMMMM-yyyy HH:mm:ss a");
private void printDateTester() 
{
    final Locale VENEZUELA_LOCALE = new Locale("es","VE");
    Locale locale = Locale.getDefault();
    System.out.println(locale.getDisplayCountry()+" "+locale.getCountry());//prints United States US
    System.out.println(VENEZUELA_LOCALE.getDisplayCountry()+" "+VENEZUELA_LOCALE.getCountry());//prints Venezuela VE
    final Calendar TODAY_US  = Calendar.getInstance(locale);
    final Calendar TODAY_VEN = Calendar.getInstance(VENEZUELA_LOCALE);
    System.out.println(dformat.format(TODAY_US.getTime())); //prints sábado 10-agosto-2013 11:07:55 AM  
    System.out.println(dformat.format(TODAY_VEN.getTime()));//prints sábado 10-agosto-2013 11:07:55 AM    
}  
它用英语打印类似于萨巴多10-agosto-2013 09:42:24 AM的内容,类似于2013年8月10日星期六但我想打印类似于2013年8月10日星期六09:42:24 AM的内容,这可能吗

有什么好主意谢谢

更新

我已经创建了两个SimpleDataFormat,一个使用
Locale.US
,另外两个使用
委内瑞拉地区
Spania地区
US
版本以
大写
打印,但是
委内瑞拉和西班牙地区都以
小写
打印,但是我需要以
西班牙语
显示数据,为什么这是吗

final Locale VENEZUELA_LOCALE = new Locale("es","VE");
Locale locale = Locale.getDefault();        
final SimpleDateFormat dformatI  = new SimpleDateFormat("EEEE dd-MMMMM-yyyy HH:mm:ss a",VENEZUELA_LOCALE);        
final SimpleDateFormat dformatII = new SimpleDateFormat("EEEE dd-MMMMM-yyyy HH:mm:ss a",Locale.US);        

Locale: Venezuela VE
print: domingo 11-agosto-2013 09:24:25 AM
Locale: United States US
print: Sunday 11-August-2013 09:24:25 AM

您是否尝试过在DateTime格式对象中设置区域设置:

    private final SimpleDateFormat dformat = new SimpleDateFormat("EEEE dd-MMMMM-yyyy HH:mm:ss a",Locale.US);
并非所有语言都遵循美国标准(大写的日期和月份名称)。因此,javaDateTimeFormat的输出值是预期的

你可以在下面的问题中找到这个有趣的讨论


您是否尝试过在DateTime格式对象中设置区域设置:

    private final SimpleDateFormat dformat = new SimpleDateFormat("EEEE dd-MMMMM-yyyy HH:mm:ss a",Locale.US);
并非所有语言都遵循美国标准(大写的日期和月份名称)。因此,javaDateTimeFormat的输出值是预期的

你可以在下面的问题中找到这个有趣的讨论


为什么要使用clazz.dformat.format(TODAY.getTime()?它不应该是dformat.format(TODAY.getTime()?是的,一个键入错误,非常感谢。你使用的是哪种语言环境?在我的机器上,它打印所有内容都是大写的?你好,克里斯蒂安,请查看我编辑过的问题。为什么要使用clazz.dformat.format.format(TODAY.getTime())?它不应该是dformat.format吗(TODAY.getTime()是的,一个打字错误,非常感谢。你使用的是哪种语言环境?在我的机器上,它打印所有内容都是大写的?你好,克里斯蒂安,请查看我编辑的问题。你好,沙米,我创建了两个SimpleDataFormat,一个使用语言环境。美国,另一个使用委内瑞拉,西班牙语言环境美国语言环境完全按照我的要求打印大写,但委内瑞拉和西班牙都打印这是小写的吗?我需要用西班牙语打印…我想是的…非常感谢…我无能为力..呵呵.你好Shamim我已经创建了两个SimpleDataFormat一个使用Locale.US,另一个使用委内瑞拉,西班牙locales美国Locale完全按照我想要的方式打印大写,但委内瑞拉和西班牙都用小写打印是吗?我需要用西班牙语打印出来……我想是的……非常感谢……我无能为力……呵呵。