我只想让日期显示如下:
Saturday, May 26, 2012 at 10:42 PM
到目前为止,这是我的代码:
Calendar calendar = Calendar.getInstance();
String theDate = calendar.get(Calendar.MONTH) + " " + calendar.get(Calendar.DAY_OF_MONTH) + " " + calendar.get(Calendar.YEAR);
lastclick.setText(getString(R.string.lastclick) + " " + theDate);
这显示了月,日和年的数字,但是必须有更好的方法吗?是不是有一些简单的方法可以像使用PHP的date()
函数一样?
答案 0 :(得分:87)
Calendar calendar = Calendar.getInstance();
SimpleDateFormat format = new SimpleDateFormat("EEEE, MMMM d, yyyy 'at' h:mm a");
System.out.println(format.format(calendar.getTime()));
运行上述代码会输出当前时间(例如Saturday, May 26, 2012 at 11:03 PM
)。
有关详细信息,请参阅Android documentation for SimpleDateFormat
。
SimpleDateFormat
的格式规范类似于PHP date
函数的格式规范:
echo date("l, M j, Y \a\\t g:i A");
你是对的。与Java代码相比,PHP代码更加简洁。
答案 1 :(得分:16)
使用以下内容根据需要格式化日期。请参阅此LINK
Calendar calendar = Calendar.getInstance();
lastclick.setText(getString(R.string.lastclick) + " " + String.format("%1$tA %1$tb %1$td %1$tY at %1$tI:%1$tM %1$Tp", calendar));
staurday的%1 $ tA, 5月份%1 $ tb,
依旧......
答案 2 :(得分:13)
这实际上是一个相当微妙的问题,而且我没有在SO上看到另一个解决这两个问题的答案:
Calendar
的时区(这意味着它可能显示的日期与本地不同)Locale
(影响日期格式的“正确”方式)此问题的先前答案会忽略区域设置,而涉及转换为Date
的其他答案会忽略时区。所以这是一个更完整,更通用的解决方案:
Calendar cal = Calendar.getInstance(); // the value to be formatted
java.text.DateFormat formatter = java.text.DateFormat.getDateInstance(
java.text.DateFormat.LONG); // one of SHORT, MEDIUM, LONG, FULL, or DEFAULT
formatter.setTimeZone(cal.getTimeZone());
String formatted = formatter.format(cal.getTime());
请注意,您需要在此处使用java.text.DateFormat
,而不是Android自己的(名称混淆)android.text.format.DateFormat
。
答案 3 :(得分:0)
对我来说,这很完美:
val cal = Calendar.getInstance()
val pattern = "EEEE, MMMM d, yyyy 'at' h:mm a"
val primaryLocale = getLocales(resources.configuration).get(0)
val dateFormat = SimpleDateFormat(dateFormatPattern, primaryLocale)
val formatedDate: String = dateFormat.format(cal.time)
答案 4 :(得分:0)
更简单的答案:
if (Input.GetKey(KeyCode.Z))
{
if (Input.GetKey(KeyCode.X))
{
Debug.Log("You just pressed Z then X !!");
}
}
答案 5 :(得分:0)
我使用这个解决方案,它混合了其他答案,还包括时间
您可以将 DateFormat.SHORT
部分自定义为其他常量以显示更多/不同的详细信息
我的设备上的短线索:17/07/2021 04:11
您可以简单地通过 Calendar.getInstance()
来获取当前时间
fun formatDateTime(calendar: Calendar):String{
val formatter = DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.SHORT)
formatter.timeZone = calendar.timeZone
return formatter.format(calendar.time)
}