Java SimpleDataFormat.format(日期)配置
我正在使用Zk Calendar开发一个类似Google的日历,我有一个关于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
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完全按照我想要的方式打印大写,但委内瑞拉和西班牙都用小写打印是吗?我需要用西班牙语打印出来……我想是的……非常感谢……我无能为力……呵呵。