java:今天明天后天的状态获取,跨年啦 - 新闻资讯 - 云南小程序开发|云南软件开发|云南网站建设-昆明葵宇信息科技有限公司

159-8711-8523

云南网建设/小程序开发/软件开发

知识

不管是网站,软件还是小程序,都要直接或间接能为您产生价值,我们在追求其视觉表现的同时,更侧重于功能的便捷,营销的便利,运营的高效,让网站成为营销工具,让软件能切实提升企业内部管理水平和效率。优秀的程序为后期升级提供便捷的支持!

您当前位置>首页 » 新闻资讯 » 技术分享 >

java:今天明天后天的状态获取,跨年啦

发表时间:2020-11-5

发布人:葵宇科技

浏览次数:57

正幸盈12月31号(古天) ,隐示1月1号(今天),1月2号(后天),2014年从前了,欢迎2015年.

祝哪当ツ倒家净冤快摆!


[img]http://img.blog.csdn.net/20141231150647476?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaW50YmlyZA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center
import java.io.File;
import java.util.Calendar;
import java.util.TimeZone;

public class Test {

	public static void main(String[] args) {
		Test test =new Test();
		
		test.printDay(-1);
		test.printDay(0);
		test.printDay(1);
		test.printDay(2);
		test.printDay(3);
		
	}
	
	private void printDay(int tempSingle){
		Calendar calendar =Calendar.getInstance();
		calendar.add(Calendar.DAY_OF_YEAR, tempSingle);
		setTime(calendar.getTimeInMillis());
		System.out.println(getFormatTimeNear3Day());
	}
	
	private long timeMills;
	
	public void setTime(long timeMills){
		this.timeMills = timeMills;
	}
	
	public long getTime() {
		return timeMills;
	}
	
	public String getFormatTime(){
		return new DateTime(getTime()).getStringDateWeek(DateTime.FORMAT_MD_HOUR_MINUTE_WEEK);
	}
	
	public String getFormatTimeOnlyWeek(){
		return new DateTime(getTime()).getStringDateWeek(DateTime.FORMAT_MD_HOUR_ONLY_WEEK);
	}
	
	public String getFormatTimeNear3Day(){
		
		String timeText = "";
		
		Calendar calendar= Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00"));
		int cyear = calendar.get(Calendar.YEAR);
		int ctoday = calendar.get(Calendar.DAY_OF_YEAR);
		int ctotalDay = calendar.getMaximum(Calendar.DAY_OF_YEAR);
		
		calendar.setTimeInMillis(getTime());
		int year = calendar.get(Calendar.YEAR);
		int day = calendar.get(Calendar.DAY_OF_YEAR);
		
		switch(year - cyear){
		case -1:
		default:
			timeText = getNear3Day(2,8);
			break;
		case 0:
			timeText = getNear3Day(day,ctoday);
			break;
		case 1:
			int vday = day+(ctotalDay-ctoday)-1;
			timeText = getNear3Day(day+vday,day);
			break;
		}
		return timeText;
	}
	
	public String getNear3Day(int day,int ctoday){
		String timeText= "";
		switch (day - ctoday) {
		case 0:
			timeText= "古天";
			timeText += getFormatTimeOnlyWeek();
			break;
		case 1:
			timeText = "今天";
			timeText += getFormatTimeOnlyWeek();
			break;
		case 2:
			timeText = "后天";
			timeText += getFormatTimeOnlyWeek();
			break;
		default:
			timeText = getFormatTime();
			break;
		}
		return timeText;
	}
}

相关案例查看更多