日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java日期函数精确到日,java日期时间函数分享

發布時間:2025/3/8 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java日期函数精确到日,java日期时间函数分享 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言:

對于新手程序員的我來說,寫業務代碼是現在的日常,在此過程中經常需要對日期時間進行處理,我挑了幾個較有用的日期處理函數分享給大家。

正文:

1、將某格式的時間字符串轉化成毫秒時間戳表示的字符串:

public static String dateTimeStrToMills(String dateTime,String format){

String dateStr = null;

SimpleDateFormat sdf = new SimpleDateFormat(format);

Calendar calendar = Calendar.getInstance();

calendar.clear();

try {

Date d = new Date();

d = sdf.parse(dateTime);

calendar.setTime(d);

dateStr = calendar.getTimeInMillis()+"ms";

} catch (ParseException e) {

e.printStackTrace();

}

return dateStr;

}

測試例:

@Test

public void test1(){

String date = "2018-10-10 08:30:00";

String format = "yyyy-MM-dd HH:mm:ss";

String timeMS = DateTimeUtils.dateTimeStrToMills(date,format);

System.out.println("毫秒時間:" + timeMS);//毫秒時間:1539131400000ms

}

2、獲取某個月的天數:

public static int getDayNumOfMonth(int year,int month){

Calendar calendar = Calendar.getInstance();

calendar.clear();

calendar.set(year, month,0);

return calendar.get(Calendar.DAY_OF_MONTH);

}

測試例:

@Test

public void test2(){

int year = 2018;

int month = 10;

int dayNum = DateTimeUtils.getDayNumOfMonth(year,month);

System.out.println("dayNum:" + dayNum);//dayNum:31

}

3、獲取某日、月、年前后的日期:

public static String getBeforeOrAfterDateType(int num,String date,String format,int timeType){

SimpleDateFormat sdf = new SimpleDateFormat(format);

String resultDate = "";

Calendar calendar = Calendar.getInstance();

calendar.clear();

try {

Date d = new Date();

d = sdf.parse(date);

calendar.setTime(d);

calendar.add(timeType, num);//一天的結束是第二天的開始

resultDate = sdf.format(calendar.getTime());

} catch (ParseException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return resultDate;

}

測試例:

@Test

public void test3(){

//獲取某個月前面一個月

int num = -1;

String date = "2018-10";

String format = "yyyy-MM";

int timeType = Calendar.MONTH;

String resultDate = DateTimeUtils.getBeforeOrAfterDateType(num,date,format,timeType);

System.out.println("resultDate:" + resultDate);//resultDate:2018-09

//獲取某天幾天后的日期

num = 3;

date = "2018-10-05";

format = "yyyy-MM-dd";

timeType = Calendar.DAY_OF_MONTH;

resultDate = DateTimeUtils.getBeforeOrAfterDateType(num,date,format,timeType);

System.out.println("resultDate:" + resultDate);//resultDate:2018-10-08

}

4、根據毫秒時間戳獲得格式化后的日期:

public static String millisecondToDate(Long millisecond,String dateFormat){

Date date = new Date(millisecond);

GregorianCalendar gc = new GregorianCalendar();

gc.setTime(date);

SimpleDateFormat format = new SimpleDateFormat(dateFormat);

String sb = format.format(gc.getTime());

return sb;

}

測試例:

@Test

public void test4(){

long mill = 1539131400000l;

String format = "yyyy-MM-dd HH:mm:ss";

String date = DateTimeUtils.millisecondToDate(mill,format);

System.out.println("date:" + date);//date:2018-10-10 08:30:00

}

5、獲取某月第一天:

public static String getFirstDayOfMonth(int year,int month){

Calendar cal = Calendar.getInstance();

cal.set(Calendar.YEAR, year);

cal.set(Calendar.MONTH, month-1);

int firstDay = cal.getActualMinimum(Calendar.DAY_OF_MONTH);

cal.set(Calendar.DAY_OF_MONTH, firstDay);

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

String firstDayOfMonth = sdf.format(cal.getTime());

return firstDayOfMonth;

}

測試例:

@Test

public void test5(){

int year = 2018;

int month = 11;

String format = "yyyy-MM-dd";

String date = DateTimeUtils.getFirstDayOfMonth(year,month,format);

System.out.println("date:" + date);//date:2018-11-01

}

6、獲取某月最后一天:

public static String getLastDayOfMonth(int year,int month,String format){

Calendar cal = Calendar.getInstance();

cal.clear();

cal.set(Calendar.YEAR, year);

cal.set(Calendar.MONTH, month-1);

int lastDay = 0;

lastDay = cal.getActualMaximum(Calendar.DAY_OF_MONTH);

cal.set(Calendar.DAY_OF_MONTH, lastDay);

SimpleDateFormat sdf = new SimpleDateFormat(format);

String lastDayOfMonth = sdf.format(cal.getTime());

return lastDayOfMonth;

}

測試例:

@Test

public void test6(){

int year = 2018;

int month = 11;

String format = "yyyy-MM-dd";

String date = DateTimeUtils.getLastDayOfMonth(year,month,format);

System.out.println("date:" + date);//date:2018-11-30

}

7、獲取起止日期之間的所有字符串(可自定義間隔、格式、日期類型):

public static ListgetDatesBetweenTwoDate(String begin,String end,int num,int timeType,String format){

ListlDates;

lDates = new ArrayList<>();

try {

SimpleDateFormat sdf = new SimpleDateFormat(format);

Date beginDate = sdf.parse(begin);

Date endDate = sdf.parse(end);

lDates.add(sdf.format(beginDate));

Calendar calendar = Calendar.getInstance();

calendar.setTime(beginDate);

boolean bContinue = true;

while(bContinue){

calendar.add(timeType, num);

if(endDate.after(calendar.getTime())){

lDates.add(sdf.format(calendar.getTime()));

}else{

break;

}

}

lDates.add(sdf.format(endDate));

} catch (ParseException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return lDates;

}

測試例:

@Test

public void test7(){

String startDate = "2018-10-10";

String endDate = "2018-10-15";

String format = "yyyy-MM-dd";

int num = 1;

int timeType = Calendar.DAY_OF_MONTH;

ListtimeList = DateTimeUtils.getDatesBetweenTwoDate(startDate,endDate,num,timeType,format);

System.out.println(timeList.toString());

//[2018-10-10, 2018-10-11, 2018-10-12, 2018-10-13, 2018-10-14, 2018-10-15]

}

總結

以上是生活随笔為你收集整理的java日期函数精确到日,java日期时间函数分享的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。