Calendar类的用法以及利用round() 四舍五入的小技巧

本文介绍Java中Calendar类的使用方法,并通过示例代码演示如何获取当前日期和时间。此外,还提供了一个自定义的四舍五入方法,能够实现任意位数的精确四舍五入。

通过下面代码简单了解一下Calendar类的用法。注意:Calendar.MONTH 是从0开始的

import java.util.Calendar;

public class CalendarTest {

	public static void main(String[] args) {
		Calendar cal = Calendar.getInstance();
		StringBuffer str = new StringBuffer();
		str.append(cal.get(Calendar.YEAR)).append("年");
		str.append(cal.get(Calendar.MONTH)+1).append("月");
		str.append(cal.get(Calendar.DAY_OF_MONTH)).append("日");
		str.append(cal.get(Calendar.HOUR_OF_DAY)).append("时");
		str.append(cal.get(Calendar.MINUTE)).append("分");
		str.append(cal.get(Calendar.SECOND)).append("秒");
		str.append(cal.get(Calendar.MILLISECOND)).append("毫秒");
		System.out.println(str);
	}

}

输出 :2018年5月18日22时27分55秒758毫秒


        在Math类中有一个方法round(),实现四舍五入,但是只能保留整数,下面通过定义MyMath类来实现任意位数的四舍五入,注意观察两种round(0函数的区别

package shi;

import java.util.Calendar;

class MyMath {
	/*
	 * 实现数字的四舍五入操作
	 * @param num 要四舍五入的数字
	 * @param n 要保留的位数
	 */
	public static double round(double num,int n) {
		return Math.round(num*Math.pow(10.0, n))/Math.pow(10.0, n);
	}
	
}
public class RoundTest {
	
	public static void main(String[] args) {
		
		System.out.println(Math.round(10.222));
		System.out.println(Math.round(10.827));
		System.out.println("===========================");
		System.out.println(MyMath.round(10.222,2));
		System.out.println(MyMath.round(10.827,2));
		
	}

}
输出: 10
           11
           ===========================
           10.22
           10.83


Java中,可以使用DateUtils中的round方法来进行日期的四舍五入操作。通过指定不同的Calendar字段,可以实现对日期的不同精度的四舍五入。 例如,如果要将日期精确到最近的整点小时,可以使用以下代码: ``` Date nearestHour = DateUtils.round(now, Calendar.HOUR); ``` 这将将给定的日期now四舍五入到最近的整点小时。 如果要将日期精确到最近的整秒,可以使用以下代码: ``` Date nearestSecond = DateUtils.round(now, Calendar.SECOND); ``` 这将将给定的日期now四舍五入到最近的整秒。 如果要将日期精确到最近的整分钟,可以使用以下代码: ``` Date nearestMinute = DateUtils.round(now, Calendar.MINUTE); ``` 这将将给定的日期now四舍五入到最近的整分钟。 总之,通过使用DateUtils中的round方法和不同的Calendar字段,可以实现Java中日期的四舍五入操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [如何在Java中将时间四舍五入到最近的四分之一小时?](https://blog.csdn.net/weixin_36193418/article/details/114939599)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值