Java中关于时间日期的部分

1.SimpleDateFormat

主要就是用来规范我们输出的时间日期格式

在这里插入图片描述

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 

2.获取当前时间的毫秒值

//Demo1:
Date date = new Date();  
System.out.println(date.getTime());  
//Demo2:
System.out.println(System.currentTimeMillis());  
//Demo3:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
String current = sdf.format(System.currentTimeMillis());  
System.out.println(current); 

3.日期转字符串、字符串转日期

// An highlighted block
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
try {  
    //1、日期转字符串  
    Calendar calendar = Calendar.getInstance();  
    Date date = calendar.getTime();  
    String dateStringParse = sdf.format(date);  
    System.out.println(dateStringParse);  
    //2、字符串转日期  
    String dateString = "2022-02-22 22:22:22";  
    Date dateParse = sdf.parse(dateString);  
    System.out.println(dateParse);  
} catch (ParseException e) {  
    e.printStackTrace();  
} 

4.输入时间,转为日期

// An highlighted block
public static String getFormatBySeconds(long seconds) {      
        String timeStr = seconds + "秒";      
        if (seconds > 60) {      
            long second = seconds % 60;      
            long min = seconds / 60;      
            timeStr = min + "分" + second + "秒";      
            if (min > 60) {      
                min = (seconds / 60) % 60;      
                long hour = (seconds / 60) / 60;      
                timeStr = hour + "小时" + min + "分" + second + "秒";      
                if (hour > 24) {      
                    hour = ((seconds / 60) / 60) % 24;      
                    long day = (((seconds / 60) / 60) / 24);      
                    timeStr = day + "天" + hour + "小时" + min + "分" + second + "秒";      
                }      
            }      
        }      
        return timeStr;      
 }      

5.计算时间差

// An highlighted block
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

//最好从DB查
String previousTime = "2022-01-01 01:01:01";  
Calendar calender = Calendar.getInstance();  
long currentDate = calendar.getTime().getTime(); 
  
try {  
    long previousDate = sdf.parse(previousTime).getTime();  
    long betweenDate = (currentDate - previousDate) / (1000 * 60 * 60 * 24); 
    System.out.print(betweenDate);  
} catch (ParseException e) {  
    e.printStackTrace();  
} 

6.获取两个时间段中间的数据

	public void checkTime() {

		List<ChangeIntegrator> finalIntegratorList = new ArrayList<>();

		Timestamp start = new Timestamp(System.currentTimeMillis());

		/**
		 * Date previousDate =
		 * jdbcTemplateTwo.queryForObject(timeDao.queryPreviousTime(), Date.class);
		 * Timestamp previous = new Timestamp(previousDate.getTime());
		 */

		// 测试专用,两天前
		Timestamp previous = new Timestamp(System.currentTimeMillis() - 1000 * 60 * 60 * 24*2);

		// find all change integrator
		List<ChangeIntegrator> changeIntegratorList = dataMapperService
				.getChangeIntegrator(commonDao.changeIntegrator());
		for (ChangeIntegrator changeIntegrator : changeIntegratorList) {
			Timestamp changeTime = new Timestamp(changeIntegrator.getEffTime().getTime());
			if (changeTime.before(start) && changeTime.after(previous)) {
				finalIntegratorList.add(changeIntegrator);
			}
		}
		System.out.println(finalIntegratorList.size());
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

百世经纶『一页書』

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值