java利用时间戳来获取UTC时间

由于项目原因,本人在做测试的时候发时间戳都是UTC时间,因此找了找解决方案,发现都是非常复杂,十几行代码实现此功能。我试了一下在calendar的getinstance方法参数修改并不能直接获取UTC时间,在尝试过之后终于找到一个简单的方法,通知data类直接获取时间戳,然后设置时间戳来达到转换时区的方法。分享代码,供大家参考。相比其他的解决方案,这个算是简单的。

本方法只适用于采用北京时间为标准时间的地区。

/**
	 * 获取calendar类对象,默认UTC时间
	 *
	 * @return
	 */
	public static Calendar getCalendar() {
		Calendar calendar = Calendar.getInstance();
		calendar.setTime(new Date(getDate().getTime() - 8 * 3600 * 1000));
		return calendar;
	}

在发一下几个关联的封装方法:

/**
	 * 获取当前星期数(按年)
	 *
	 * @return
	 */
	public static int getWeeksNum() {
		return getCalendar().get(Calendar.WEEK_OF_YEAR);
	}

	/**
	 * 获取月份
	 *
	 * @return
	 */
	public static int getMonthNum() {
		return getCalendar().get(Calendar.MONTH) + 1;
	}

	/**
	 * 获取当前是当月的第几天
	 *
	 * @return
	 */
	public static int getDayNum() {
		return getCalendar().get(Calendar.DAY_OF_MONTH);
	}

	/**
	 * 获取年份
	 *
	 * @return
	 */
	public static int getYearNum() {
		return getCalendar().get(Calendar.YEAR);
	}

分享完毕,有兴趣一起交流:QQ群:群号:340964272


猜你喜欢

转载自blog.csdn.net/fhaohaizi/article/details/80450247