calendar 对象只要时分秒

calendar 对象只要时分秒,第1张

time.get(Calendar.HOUR)+":"+time.get(Calendar.MINUTE)+":"+time.get(Calendar.SECOND)

转化为字符串后compareTo

正好我这有一个日期的工具类,你参考一下。我是直接黏贴进来的,看起来感觉有点乱,你复制后放到eclipse里看就整齐了。

import java.text.ParseException

import java.text.SimpleDateFormat

import java.util.Calendar

import java.util.Date

import org.junit.Test

/**

* @author Administrator

* 各种日期、时间转换的示例总结:

*/

public class DateFormatUtil {

/**

* 将当前时间转换成指定格式的日期形式的字符串输出

* */

@Test

public void dateToStr(){

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

String dateString = sdf.format(new Date())

System.out.println(dateString)

}

/**

* 将给定时间格式的字符串,解析成Date输出

* @throws ParseException

* */

@Test

public void strToDate() throws ParseException{

String str = "201012241002"//yyyyMMddhhmm

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddhhmm")

Date date = sdf.parse(str)

System.out.println(date)

}

/**

* 字符串,格式化 为指定字符串

* @throws ParseException

*/

@Test

public void formatstr()throws ParseException{

String str = "20170314155847"//yyyyMMddhhmm

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss")

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

String str2 = sdf2.format(sdf.parse(str))

System.out.println(str2)

}

/**

* *** 作时间:当前时间减去一天,一月,一年

*/

@Test

public void oprateDate(){

Date date = new Date()//获取当前时间

Calendar calendar = Calendar.getInstance()

calendar.setTime(date)

// calendar.add(Calendar.YEAR, -1)//当前时间减去一年,即一年前的时间

// calendar.add(Calendar.MONTH, -1)//当前时间前去一个月,即一个月前的时间

calendar.add(Calendar.DATE, -1)

Date time = calendar.getTime()//获取一年前的时间,或者一个月前的时间

System.out.println(time)

}

}

public static Date getMonthDeviation(int n ) {

Calendar calendar = Calendar.getInstance()//获取当前日期

calendar.add(Calendar.MONTH, n)//n代表和本月偏移 0本月、1后一月,-1前一月

calendar.set(Calendar.DAY_OF_MONTH,1)//设置为1号,当前日期既为本月第一天

calendar.set(Calendar.HOUR_OF_DAY,0)//将小时至0

calendar.set(Calendar.MINUTE,0)//将分钟至0

calendar.set(Calendar.SECOND,0)//将秒至0

calendar.add(Calendar.SECOND, -1)// 如果需要获取最后一天,则月份偏移后,在1号0时0分0秒基础上-1秒

Date  day = calendar.getTime()

return day

}

考虑到无论是第一天还是最后一天都是要精确到时分秒,所以要初始化时设置时分秒。

例如本月为:2020-12 

获取本月最后一天:DateUtil.getMonthEnd(1) ,下个月的第一天-1秒

获取上个月最一天:DateUtil.getMonthEnd(0) ,本月的第一天-1秒

获取本月第一天: DateUtil.getMonthEnd(0) ,同时去掉偏移calendar.add(Calendar.SECOND, -1)


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/11117648.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存