int hour = calendar.get(Calendar.HOUR_OF_DAY); int minute = calendar.get(Calendar.MINUTE); int second = calendar.get(Calendar.SECOND); textView.setText(hour+":"+minute+":"+second);,将字符串按照时间格式化字符串
时间: 2024-01-31 20:02:58 浏览: 90
可以使用Java的字符串格式化来实现:
```
String timeStr = String.format("%02d:%02d:%02d", hour, minute, second);
textView.setText(timeStr);
```
其中,`%02d`表示将整数格式化为2位的带前导零的十进制数,确保小时、分钟和秒数都是2位数,并且前导零用于填充单个数字。
相关问题
public class TodayUtil { public static String getToday(){ Calendar calendar = Calendar.getInstance(); String year = String.valueOf(calendar.get(Calendar.YEAR)); String month = String.valueOf(calendar.get(Calendar.MONTH)+1); String date = String.valueOf(calendar.get(Calendar.DATE)); String day = String.valueOf(calendar.get(Calendar.HOUR_OF_DAY)); String minute = String.valueOf(calendar.get(Calendar.MINUTE)); String second = String.valueOf(calendar.get(Calendar.SECOND)); if(calendar.get(Calendar.MONTH)+1 < 10) month = "0"+month; if(calendar.get(Calendar.DATE) < 10) date = "0"+date; return year+"-"+month+"-"+date+" "+day+":"+minute+":"+second; } public static String getTodayYmd(){ Calendar calendar = Calendar.getInstance(); Date today = calendar.getTime(); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); String result = format.format(today); return result; } //获取过去的第past天 public static String getPastDate(int past) { Calendar calendar = Calendar.getInstance(); //System.out.println(calendar.get(Calendar.DAY_OF_YEAR)); calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) - past); Date today = calendar.getTime(); //System.out.println(today); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); String result = format.format(today); return result; } }
这是一个Java工具类,提供了以下方法:
1. getToday():获取当前日期和时间,格式为 yyyy-MM-dd HH:mm:ss。
2. getTodayYmd():获取当前日期,格式为 yyyy-MM-dd。
3. getPastDate(int past):获取过去第 past 天的日期,格式为 yyyy-MM-dd。
这些方法都是基于当前系统时间的 Calendar 对象进行计算得出的。
@Override //重写JPanel类中的paintComponent()方法 //方法在需要绘制组件的时候被调用。它的参数g是绘制组件的图形上下文 protected void paintComponent(Graphics g) { // 获取当前时间 //这行代码用于获取当前时间,并创建一个Java Calendar对象 Calendar calendar = Calendar.getInstance(); //将currentTime对象设置为Calendar对象的时间 calendar.setTime(currentTime); //三行代码从Calendar对象中获取小时、分钟和秒数 int hour = calendar.get(Calendar.HOUR_OF_DAY); int minute = calendar.get(Calendar.MINUTE); int second = calendar.get(Calendar.SECOND); // 绘制表盘背景 BufferedImage image = null; try { image = ImageIO.read(new File("images/6.jpg")); } catch (IOException e) { e.printStackTrace(); } //observer:表示您不需要接收有关图像加载状态的通知,而只需要简单地绘制图像 g.drawImage(image, centerX - RADIUS, centerY - RADIUS, 2 * RADIUS, 2 * RADIUS ,null); //三行代码分别调用drawHourHand()、drawMinuteHand()和 // drawSecondHand()方法,在面板上绘制时针、分针和秒针 drawHour(g, hour, minute); drawMinute(g, minute, second); drawSecond(g, second); }方法中的Graphics对象是谁传过去的
在Swing中,JPanel类是用于创建可绘制组件的容器类。当JPanel需要进行绘制时,会调用其内部的paintComponent()方法进行绘制。在paintComponent()方法中,会传入一个Graphics对象,用于绘制组件。
在上述代码中,调用了super.paintComponent(g)方法,该方法会调用JPanel类中的paintComponent()方法,从而清除之前的绘制结果,为绘制新内容做准备。然后使用传入的Graphics对象g进行新的绘制操作。因此,在这段代码中,Graphics对象g是由JPanel类传递给paintComponent()方法的。
阅读全文