嗨,我想打印在android textview中的“星期一23日”格式的日期,我也想打印前几天。例如:“4月22日星期日”,“4月21日星期六”。我发现了很多,但无法获得任何能以相同格式工作的东西。提前Thanx。以特定格式打印java日期
回答
看看到: SimpleDateFormat
PS: 要回答乔恩斯基特问题:
private static final String DATE_FORMAT_ND = "EEE d'nd' MMMM";
private static final String DATE_FORMAT_RD = "EEE d'rd' MMMM";
private static final String DATE_FORMAT_ST = "EEE d'st' MMMM";
private static final String DATE_FORMAT_TH = "EEE d'th' MMMM";
private static final String DATE_DAY_NUMBER = "d";
public static String FormatDate(Date date_)
{
String format = null;
SimpleDateFormat dayNumberFormat = new SimpleDateFormat(DATE_DAY_NUMBER);
String daySource = dayNumberFormat.format(date_);
int day = Integer.parseInt(daySource);
switch(day)
{
case 1:
case 21:
case 31:
format = DATE_FORMAT_ST;
break;
case 2:
case 22:
format = DATE_FORMAT_ND;
break;
case 3:
case 23:
format = DATE_FORMAT_RD;
break;
case 4:
case 24:
case 5:
case 25:
case 6:
case 26:
case 7:
case 27:
case 8:
case 28:
case 9:
case 29:
case 10:
case 30:
format = DATE_FORMAT_TH;
break;
}
SimpleDateFormat dateFormat = new SimpleDateFormat(format);
String result = dateFormat.format(date_);
return result;
}
只有简单的日期格式和编码的一点点...
对于昨天的日期这样调用它: - date.setText(FormatDate(new Date(new Date()。getTime() - 86400000)));
这将如何产生序数部分(“nd”等)?我不认为*有什么会自动做到的。 –
再次查看答案......但是从我的角度来看,这个资源可以用来编写这段代码的人没有任何问题...... – Maxim
对,这好多了 - 它实际上回答了问题。虽然这可能值得明确指出这只适用于英语。 (我会在构造'SimpleDateFormat'时指定。) –
你可以试试这个:
DateFormat format = new SimpleDateFormat("EEEE d MMMM yyyy");
System.out.println(format.format(new Date()));
或检查出这个Human Friendly dates
这不包括序数部分,这是棘手的一点。 –
- 1. 在Java中以特定格式打印日期时间?
- 2. 以特定格式格式化日期
- 3. 以特定格式打印二叉树
- 4. 以java格式打印行
- 5. 日期转换以特定格式
- 6. 日期XMLGregorianCalendar以及特定格式
- 7. 以特定格式比较日期
- 8. 以特定格式显示日期
- 9. PHP以特定格式验证日期
- 10. 通过NSLog格式打印日期
- 11. 日期格式打印不正确
- 12. PHP打印日期变量格式
- 13. 格式化日期到特定格式
- 14. 格式化日期为特定格式
- 15. 格式化日期到特定格式
- 16. 打印特定格
- 17. 的java格式的特定日期以T字
- 18. 解析日期以特定格式的Java
- 19. Java新日期()打印
- 20. Logstash过滤日期,以匹配特定的日期格式
- 21. 用特殊格式打印当前UTC日期时间
- 22. 在java中将日期格式化为特定格式?
- 23. 以特定格式格式化日期时间
- 24. 转换日期时间格式以特定格式在SSIS
- 25. javascript日期格式到本地时区以特定的格式
- 26. 循环通过日期和打印格式日期
- 27. 如何打印从特定日期到odoo 10中特定日期的报告?
- 28. 代码块不打印特定格式
- 29. 从CSS打印的特定格式
- 30. 如何以日期时间格式打印秒数?
你的问题建议你已经试过* *的东西 - 所以请告诉我们,你已经尝试什么,发生了什么事。你卡在哪里?我*怀疑*它与序数部分(“rd”,“st”,“nd”,“th”等) - 这很难在所有语言环境中正确地获取。其余的应该是合理简单的。 –
是的,如何获得序数部分..我已经尝试过现在字符串month_name = calendar.getDisplayName(Calendar.MONTH,Calendar.SHORT,Locale.getDefault()); // Locale.US); String day_name = calendar.getDisplayName(Calendar.DAY_OF_WEEK,Calendar.SHORT,Locale.getDefault()); // Locale.US);正如@vinay maneti所暗示的那样。它的工作原理 – Sydroid
@Sydroid - 如果这个答案适合你,那就继续接受吧。 :)不要在这里发布代码作为评论。 – SudoRahul