- N +

java如何獲取當前時間 string怎么改成date

很多朋友對于java如何獲取當前時間和string怎么改成date不太懂,今天就由小編來為大家分享,希望可以幫助到大家,下面一起來看看吧!

如何有效讀取Excel中的日期數據

importjxl.*;

importjxl.format.UnderlineStyle;

importjxl.write.*;

importjxl.write.Number;

importjxl.write.Boolean;

importjava.io.*;

classexcel{

publicexcel(){

}

/**

*讀取excel

*

*@paramfilepath

*/

publicstaticvoidreadexcel(Stringfilepath){

try{

InputStreamis=newFileInputStream(filepath);

Workbookrwb=Workbook.getWorkbook(is);

//sheetst=rwb.getsheet("0")這里有兩種方法獲取sheet表,1為名字,2為下標,從0開始

Sheetst=rwb.getSheet(0);

Cellc00=st.getCell(1,0);

//通用的獲取cell值的方式,返回字符串

Stringstrc00=c00.getContents();

//獲得cell具體類型值的方式

if(c00.getType()==CellType.LABEL){

LabelCelllabelc00=(LabelCell)c00;

strc00=labelc00.getString();

}

//輸出

System.out.println(strc00);

//關閉

rwb.close();

}catch(Exceptione){

e.printStackTrace();

}

}

/**

*輸出excel

*

*@paramos

*/

publicstaticvoidwriteexcel(OutputStreamos){

try{

/**

*只能通過api提供的工廠方法來創建workbook,而不能使用WritableWorkbook的構造函數,

*因為類WritableWorkbook的構造函數為protected類型

*method(1)直接從目標文件中讀取WritableWorkbookwwb=

*workbook.createWorkbook(newfile(targetfile));method(2)如下實例所示

*將WritableWorkbook直接寫入到輸出流

*

*/

WritableWorkbookwwb=Workbook.createWorkbook(os);

//創建excel工作表指定名稱和位置

WritableSheetws=wwb.createSheet("testsheet1",0);

WritableSheetws2=wwb.createSheet("testsheet2",1);

//**************往工作表中添加數據*****************

//1.添加label對象

Labellabel=newLabel(0,0,"thisisalabeltest");

ws.addCell(label);

Labellabel2=newLabel(0,0,"thisisalabeltest2");

ws2.addCell(label2);

//添加帶有字型formatting對象

WritableFontwf=newWritableFont(WritableFont.TIMES,18,

WritableFont.BOLD,true);

WritableCellFormatwcf=newWritableCellFormat(wf);

Labellabelcf=newLabel(1,0,"thisisalabeltest",wcf);

ws.addCell(labelcf);

//添加帶有字體顏色的formatting對象

WritableFontwfc=newWritableFont(WritableFont.ARIAL,10,

WritableFont.NO_BOLD,false,UnderlineStyle.NO_UNDERLINE,

jxl.format.Colour.RED);

WritableCellFormatwcffc=newWritableCellFormat(wfc);

LabelLabelcf=newLabel(1,0,"thisisaLabelcell",wcffc);

ws.addCell(Labelcf);

//2.添加number對象

NumberLabeln=newNumber(0,1,3.1415926);

ws.addCell(Labeln);

//添加帶有formatting的number對象

NumberFormatnf=newNumberFormat("#.##");

WritableCellFormatwcfn=newWritableCellFormat(nf);

NumberLabelnf=newjxl.write.Number(1,1,3.1415926,wcfn);

ws.addCell(Labelnf);

//3.添加boolean對象

BooleanLabelb=newjxl.write.Boolean(0,2,false);

ws.addCell(Labelb);

//4.添加datetime對象

jxl.write.DateTimeLabeldt=newjxl.write.DateTime(0,3,

newjava.util.Date());

ws.addCell(Labeldt);

//添加帶有formatting的dateformat對象

DateFormatdf=newDateFormat("ddmmyyyyhh:mm:ss");

WritableCellFormatwcfdf=newWritableCellFormat(df);

DateTimeLabeldtf=newDateTime(1,3,newjava.util.Date(),wcfdf);

ws.addCell(Labeldtf);

//添加圖片對象,jxl只支持png格式圖片

//Fileimage=newFile("f:\\2.png");

//WritableImagewimage=newWritableImage(0,1,2,2,image);

//ws.addImage(wimage);

//寫入工作表

wwb.write();

wwb.close();

}catch(Exceptione){

e.printStackTrace();

}

}

/**

*拷貝后,進行修改,其中File1為被copy對象,File2為修改后創建的對象

*盡單元格原有的格式化修飾是不能去掉的,我們還是可以將新的單元格修飾加上去,以使單元格的內容以不同的形式表現

*

*@paramFile1

*@paramFile2

*/

publicstaticvoidmodifyexcel(FileFile1,FileFile2){

try{

Workbookrwb=Workbook.getWorkbook(File1);

WritableWorkbookwwb=Workbook.createWorkbook(File2,rwb);//copy

WritableSheetws=wwb.getSheet(0);

WritableCellwc=ws.getWritableCell(0,0);

//判斷單元格的類型,做出相應的轉換

Java日期工具類

Java日期工具類:可以進行日期轉化、今天日期、昨天日期、明天日期、指定日期,非常實用。

想必程序員在開發過程中,遇到日期轉化肯定避免不了的。它讓人愛恨不已,而有些又記不住,每次遇到都得問度娘。我最近在開發過程中亦是如此。

為了讓自己更好的記憶,方便以后遇到日期類型轉化相關開發。因此,自己作了適當的整理,編寫了一個Java日期工具類,包括獲得今天日期、昨天日期、明天日期、日期和字符串之間轉化等相關轉化。希望這個日期工具類,也能提高你對日期轉化的開發效率。

日期工具類:DateTools.java

packagecom.geshanzsq;

importjava.text.ParseException;

importjava.text.SimpleDateFormat;

importjava.util.Calendar;

importjava.util.Date;

importjava.util.GregorianCalendar;

/**

*日期工具類

*@author格姍知識圈

*/

publicclassDateTools{

/**

*日期轉化為指定日期格式類型

*@paramdate日期

*@parampattern日期格式類型,如yyyy-MM-dd,yyyy年MM月dd日HH:mm:ss

*@return

*/

publicstaticStringdateToString(Datedate,Stringpattern){

SimpleDateFormatsdf=newSimpleDateFormat(pattern);//日期格式

Stringdate_str=sdf.format(date);//日期轉化為指定格式

returndate_str;

}

/**

*日期字符串轉化為指定日期格式類型

*@paramdate_str日期字符串

*@parampattern日期格式類型,如yyyy-MM-dd,yyyy年MM月dd日HH:mm:ss

*@return

*@throwsParseException

*/

publicstaticDatestringToDate(Stringdate_str,Stringpattern)throwsParseException{

SimpleDateFormatsdf=newSimpleDateFormat(pattern);//日期格式

Datedate=sdf.parse(date_str);//日期轉化為指定格式

returndate;

}

/**

*獲得今天日期

*@parampattern日期格式類型,如yyyy-MM-dd,yyyy年MM月dd日HH:mm:ss

*@return

*/

publicstaticStringgetToday(Stringpattern){

Datedate=newDate();//今天日期

SimpleDateFormatsdf=newSimpleDateFormat(pattern);//日期格式

Stringtoday=sdf.format(date);//日期轉化為指定格式

returntoday;

}

/**

*獲得明天日期

*@parampattern日期格式類型,如yyyy-MM-dd,yyyy年MM月dd日HH:mm:ss

*@return

*/

publicstaticStringgetTomorrow(Stringpattern){

Datedate=newDate();//今天日期

Calendarcal=newGregorianCalendar();

cal.setTime(date);//設置時間

cal.add(Calendar.DATE,1);//把日期往后增加一天.整數往后推,負數往前移動

date=cal.getTime();//這個時間就是日期往后推一天的日期結果,即明天日期

SimpleDateFormatsdf=newSimpleDateFormat(pattern);//日期格式

Stringtommorrow=sdf.format(date);//明天日期

returntommorrow;

}

/**

*獲得昨天日期

*@parampattern日期格式類型,如yyyy-MM-dd,yyyy年MM月dd日HH:mm:ss

*@return

*/

publicstaticStringgetYesterday(Stringpattern){

Datedate=newDate();//今天日期

Calendarcal=newGregorianCalendar();

cal.setTime(date);//設置時間

cal.add(Calendar.DATE,-1);//把日期往后增加一天.整數往后推,負數往前移動

date=cal.getTime();//這個時間就是日期往前推一天的日期結果,即昨天日期

SimpleDateFormatsdf=newSimpleDateFormat(pattern);//日期格式

Stringyesterday=sdf.format(date);//昨天日期

returnyesterday;

}

/**

*獲得指定日期的后一天

*@paramdate指定日期

*@parampattern日期格式類型,如yyyy-MM-dd,yyyy年MM月dd日HH:mm:ss

*@return

*@throwsParseException

*/

publicstaticDategetAfterDay(Datedate,Stringpattern)throwsParseException{

Calendarcal=newGregorianCalendar();

cal.setTime(date);//設置時間

cal.add(Calendar.DATE,1);//把日期往后增加一天.整數往后推,負數往前移動

date=cal.getTime();//這個時間就是日期往后推一天的日期結果,即后一天日期

SimpleDateFormatsdf=newSimpleDateFormat(pattern);//日期格式

Stringnext_date_str=sdf.format(date);//后一天日期

//將日期字符串轉化為指定日期格式類型

Dateafter_date=stringToDate(next_date_str,pattern);

returnafter_date;

}

/**

*獲得指定日期的后一天

*@paramdate_str指定日期字符串

*@parampattern日期格式類型,如yyyy-MM-dd,yyyy年MM月dd日HH:mm:ss

*@return

*@throwsParseException

*/

publicstaticStringgetAfterDay(Stringdate_str,Stringpattern)throwsParseException{

//將日期字符串轉化為指定日期格式類型

Datedate=stringToDate(date_str,pattern);

Calendarcal=newGregorianCalendar();

cal.setTime(date);//設置時間

cal.add(Calendar.DATE,1);//把日期往后增加一天.整數往后推,負數往前移動

date=cal.getTime();//這個時間就是日期往后推一天的日期結果,即后一天日期

SimpleDateFormatsdf=newSimpleDateFormat(pattern);//日期格式

Stringafter_date_str=sdf.format(date);//后一天日期

returnafter_date_str;

}

/**

*獲得指定日期的前一天

*@paramdate指定日期

*@parampattern日期格式類型,如yyyy-MM-dd,yyyy年MM月dd日HH:mm:ss

*@return

*@throwsParseException

*/

publicstaticDategetBeforetDay(Datedate,Stringpattern)throwsParseException{

Calendarcal=newGregorianCalendar();

cal.setTime(date);//設置時間

cal.add(Calendar.DATE,-1);//把日期往后增加一天.整數往后推,負數往前移動

date=cal.getTime();//這個時間就是日期往后推一天的日期結果,即前一天日期

SimpleDateFormatsdf=newSimpleDateFormat(pattern);//日期格式

Stringbefore_date_str=sdf.format(date);//前一天日期

//將日期字符串轉化為指定日期格式類型

Datebefore_date=stringToDate(before_date_str,pattern);

returnbefore_date;

}

/**

*獲得指定日期的前一天

*@paramdate_str指定日期字符串

*@parampattern日期格式類型,如yyyy-MM-dd,yyyy年MM月dd日HH:mm:ss

*@return

*@throwsParseException

*/

publicstaticStringgetBreforeDay(Stringdate_str,Stringpattern)throwsParseException{

//將日期字符串轉化為指定日期格式類型

Datedate=stringToDate(date_str,pattern);

Calendarcal=newGregorianCalendar();

cal.setTime(date);//設置時間

cal.add(Calendar.DATE,-1);//把日期往后增加一天.整數往后推,負數往前移動

date=cal.getTime();//這個時間就是日期往后推一天的日期結果,即前一天日期

SimpleDateFormatsdf=newSimpleDateFormat(pattern);//日期格式

Stringbefore_date_str=sdf.format(date);//前一天日期

returnbefore_date_str;

}

}

測試類:Test.java

packagecom.hrg;

importjava.text.ParseException;

/**

*測試類

*@author格姍知識圈

*/

publicclassTest{

publicstaticvoidmain(String[]args)throwsParseException{

//日期格式類型

Stringpattern="yyyy-MM-dd";

//獲得今天日期

System.out.println("---------獲得今天日期---------");

Stringtoday=DateTools.getToday(pattern);

System.out.println("今天日期:"+today);

//獲得明天日期

System.out.println("---------獲得明天日期---------");

Stringtomorrow=DateTools.getTomorrow(pattern);

System.out.println("明天日期:"+tomorrow);

//獲得昨天日期

System.out.println("---------獲得昨天日期---------");

Stringyesterday=DateTools.getYesterday(pattern);

System.out.println("昨天日期:"+yesterday);

//獲得指定日期的后一天

System.out.println("---------獲得指定日期的后一天---------");

Stringdate_str="2018-10-03";

System.out.println("指定日期:"+date_str);

Stringafter_date=DateTools.getAfterDay(date_str,pattern);

System.out.println("指定日期的后一天:"+after_date);

//獲得指定日期的后一天

System.out.println("---------獲得指定日期的前一天---------");

System.out.println("指定日期:"+date_str);

Stringbefore_date=DateTools.getBreforeDay(date_str,pattern);

System.out.println("指定日期的前一天:"+before_date);

}

}

運行結果:

---------獲得今天日期---------

今天日期:2018-11-20

---------獲得明天日期---------

明天日期:2018-11-21

---------獲得昨天日期---------

昨天日期:2018-11-19

---------獲得指定日期的后一天---------

指定日期:2018-10-03

指定日期的后一天:2018-10-04

---------獲得指定日期的前一天---------

指定日期:2018-10-03

指定日期的前一天:2018-10-02

你看完之后,相信對日期轉化有了更好的了解。當然,代碼里面有部分是冗余的,主要是為了方便讓大家清晰看懂。你看懂理解后,可以根據業務需要進行適當的修改。

Java獲取當前時間的小時(24小時制)

Calendarca=Calendar.getInstance();

inthour=ca.get(Calendar.HOUR);//小時

mongo里的時間與java獲取的時間有啥不同

如果都獲取的是同一臺機器的系統時間,那就一樣。

如果不是,可能不一樣

java中,知道結束日期

可以通過日期的add(Calendar.MONTH,1)方法進行月份切換,輸出每個滿足條件的值

Dated1=newSimpleDateFormat("yyyy-MM").parse("2015-6");//定義起始日期

Dated2=newSimpleDateFormat("yyyy-MM").parse("2016-5");//定義結束日期

Calendardd=Calendar.getInstance();//定義日期實例

dd.setTime(d1);//設置日期起始時間

while(dd.getTime().before(d2)){//判斷是否到結束日期

SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM");

Stringstr=sdf.format(dd.getTime());

System.out.println(str);//輸出日期結果

dd.add(Calendar.MONTH,1);//進行當前日期月份加1

}

結果:

好了,文章到此結束,希望可以幫助到大家。

返回列表
上一篇:
下一篇: