所以我有一个Date对象,我想创建一个方法,以便它以下列格式打印Date:
11 September 2011, 9:15pm
Run Code Online (Sandbox Code Playgroud)
我怎么做?到目前为止,我只是对日期做了一个toString,它给了我所有GMT信息和我不需要的秒精度.我是否必须使用DateFormatter或者有更简单的方法吗?
编辑后,在标题中包含Java ME,并在发布了原始问题的一些正确答案之后的标签.
您可以使用SimpleDateFormat课程来设置日期格式.
http://download.oracle.com/javase/1,5.0/docs/api/java/text/SimpleDateFormat.html
我猜模式会是这样的:
SimpleDateFormat format = new SimpleDateFormat("dd MMMM yyyy, h:ma");
format.format(yourDate);
Run Code Online (Sandbox Code Playgroud)
编辑Java ME; 我读到Java ME规范中没有SimpleDateFormat类.所以我会尝试日历;
首先将您的日期添加到日历中,然后获得所需的一切.更好的是使这个方法
Calendar calendar = Calendar.getInstance();
Date myDate = new Date(); // as an example, date of "now"
calendar.setTime(myDate);
int day = calendar.get(Calendar.DAY_OF_MONTH);
int monthNumber = calendar.get(Calendar.MONTH);
String[] _months = new DateFormatSymbols().getMonths();
String[] months = new String[12];
for(int i =0; i < 12; i++){
months[i] = _months[i];
}
//because there is something wrong, we have a 12. month in the name of "" (nothing)
//or if there is no DateFormatSymbols class in your plans
//you may write for yourself;
/*
String[] monthNames = {"January", "February",
"March", "April", "May", "June", "July",
"August", "September", "October", "November",
"December"};
*/
String month = months[monthNumber]; //or String month = monthNames[monthNumber];
int year = calendar.get(Calendar.YEAR);
int hour = calendar.get(Calendar.HOUR);
int minute = calendar.get(Calendar.MINUTE);
String amPm = calendar.get(Calendar.AM_PM)==1 ? "am" : "pm";
System.out.println(day + " " + month + " " +
year + ", " + hour + ":" + minute + amPm);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3402 次 |
| 最近记录: |