日期与字符串转换.docx
- 文档编号:9105105
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:20
- 大小:21.08KB
日期与字符串转换.docx
《日期与字符串转换.docx》由会员分享,可在线阅读,更多相关《日期与字符串转换.docx(20页珍藏版)》请在冰豆网上搜索。
日期与字符串转换
java日期与字符串转化
文章分类:
Java编程
1SimpleDateFormat担当重任,怎样格式化都行
importjava.util.Date;
importjava.text.SimpleDateFormat;
publicclassDemo
{
publicstaticvoidmain(String[]args)
{
Datenow=newDate();
SimpleDateFormatf=newSimpleDateFormat("今天是"+"yyyy年MM月dd日Ekk点mm分");
System.out.println(f.format(now));
f=newSimpleDateFormat("ahh点mm分ss秒");
System.out.println(f.format(now));
}
}
2从字符串到日期类型的转换:
importjava.util.Date;
importjava.text.SimpleDateFormat;
importjava.util.GregorianCalendar;
importjava.text.*;
publicclassDemo
{
publicstaticvoidmain(String[]args)
{
StringstrDate="2005年04月22日";
//注意:
SimpleDateFormat构造函数的样式与strDate的样式必须相符
SimpleDateFormatsimpleDateFormat=newSimpleDateFormat("yyyy年MM月dd日");
SimpleDateFormatsDateFormat=newSimpleDateFormat("yyyy-MM-ddHH:
mm:
ss");//加上时间
//必须捕获异常
try
{
Datedate=simpleDateFormat.parse(strDate);
System.out.println(date);
}
catch(ParseExceptionpx)
{
px.printStackTrace();
}
}
}
3将毫秒数换转成日期类型
importjava.util.Date;
importjava.text.SimpleDateFormat;
importjava.util.GregorianCalendar;
importjava.text.*;
publicclassDemo
{
publicstaticvoidmain(String[]args)
{
longnow=System.currentTimeMillis();
System.out.println("毫秒数:
"+now);
DatedNow=newDate(now);
System.out.println("日期类型:
"+dNow);
}
}
4获取系统时期和时间,转换成SQL格式后更新到数据库
(
java.util.Dated=newjava.util.Date();//获取当前系统的时间
//格式化日期
newjava.text.SimpleDateFormats=newjava.text.SimpleDateFormat("yyyy-MM-ddHH:
mm:
ss");
StringdateStr=s.format(d);//转为字符串
-----------------------------------------------------------------------
比较日期大小
importjava.text.DateFormat;
importjava.text.SimpleDateFormat;
importjava.util.Date;
publicclasstest{
publicstaticvoidmain(Stringargs[]){
inti=compare_date("1995-11-1215:
21","1999-12-1109:
59");
System.out.println("i=="+i);
}
publicstaticintcompare_date(StringDATE1,StringDATE2){
DateFormatdf=newSimpleDateFormat("yyyy-MM-ddhh:
mm");
try{
Datedt1=df.parse(DATE1);
Datedt2=df.parse(DATE2);
if(dt1.getTime()>dt2.getTime()){
System.out.println("dt1在dt2前");
return1;
}elseif(dt1.getTime() System.out.println("dt1在dt2后"); return-1; }else{ return0; } }catch(Exceptionexception){ exception.printStackTrace(); } return0; } } java日期和字符串转换 JAVA2010-12-1816: 27: 45阅读14评论0字号: 大中小 文章中,用的API是SimpleDateFormat,它是属于java.text.SimpleDateFormat,所以请记得import进 来! 用法: SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-ddHH: mm: ss"); 这一行最重要,它确立了转换的格式,yyyy是完整的公元年,MM是月份,dd是日期,至于HH: mm: ss 就不需要我再解释了吧! PS: 为什么有的格式大写,有的格式小写,那是怕避免混淆,例如MM是月份,mm是分;HH是24小 时制,而hh是12小时制。 1.字符串转日期 2008-07-1019: 20: 00要把它转成日期,可以用Datedate=sdf.parse("2008-07-1019: 20: 00"); 2.日期转字符串 假如把今天的日期转成字符串可用Stringstr=sdf.format(newDate()); 这个字符串内容的格式类似2008-07-1019: 20: 00。 透过这个API我们便可以随心所欲的将日期转成我们想要的字符串格式,例如希望将日期输出成2008 年7月10日,我们可以这么写: SimpleDateFormatsdf=newSimpleDateFormat("yyyy年MM月dd日"); Stringstr=sdf.format(newDate()); str便会依照我们设定的格式输出了。 附编写好的一个简单实例: importjava.util.Date; importjava.text.ParseException; importjava.text.SimpleDateFormat; publicclassConvertDemo{ /** *日期转换成字符串 *@paramdate *@returnstr */ publicstaticStringDateToStr(Datedate){ SimpleDateFormatformat=newSimpleDateFormat("yyyy-MM-ddHH: mm: ss"); Stringstr=format.format(date); returnstr; } /** *字符串转换成日期 *@paramstr *@returndate */ publicstaticDateStrToDate(Stringstr){ SimpleDateFormatformat=newSimpleDateFormat("yyyy-MM-ddHH: mm: ss"); Datedate=null; try{ date=format.parse(str); }catch(ParseExceptione){ e.printStackTrace(); } returndate; } publicstaticvoidmain(String[]args){ Datedate=newDate(); System.out.println("日期转字符串: "+ConvertDemo.DateToStr(date)); System.out.println("字符串转日期: "+ConvertDemo.StrToDate(ConvertDemo.DateToStr(date))); } } ***************************************下面的都是例子******************************************************* Java中日期格式转换 /** *字符串转换为java.util.Date *支持格式为yyyy.MM.ddG'at'hh: mm: ssz如'2002-1-1ADat22: 10: 59PSD' *yy/MM/ddHH: mm: ss如'2002/1/117: 55: 00' *yy/MM/ddHH: mm: sspm如'2002/1/117: 55: 00pm' *yy-MM-ddHH: mm: ss如'2002-1-117: 55: 00' *yy-MM-ddHH: mm: ssam如'2002-1-117: 55: 00am' *@paramtimeString字符串 *@returnDate日期 */ publicstaticDatestringToDate(Stringtime){ SimpleDateFormatformatter; inttempPos=time.indexOf("AD"); time=time.trim(); formatter=newSimpleDateFormat("yyyy.MM.ddG'at'hh: mm: ssz"); if(tempPos>-1){ time=time.substring(0,tempPos)+ "公元"+time.substring(tempPos+"AD".length());//china formatter=newSimpleDateFormat("yyyy.MM.ddG'at'hh: mm: ssz"); } tempPos=time.indexOf("-"); if(tempPos>-1&&(time.indexOf("")<0)){ formatter=newSimpleDateFormat("yyyyMMddHHmmssZ"); } elseif((time.indexOf("/")>-1)&&(time.indexOf("")>-1)){ formatter=newSimpleDateFormat("yyyy/MM/ddHH: mm: ss"); } elseif((time.indexOf("-")>-1)&&(time.indexOf("")>-1)){ formatter=newSimpleDateFormat("yyyy-MM-ddHH: mm: ss"); } elseif((time.indexOf("/")>-1)&&(time.indexOf("am")>-1)||(time.indexOf("pm")>-1)){ formatter=newSimpleDateFormat("yyyy-MM-ddKK: mm: ssa"); } elseif((time.indexOf("-")>-1)&&(time.indexOf("am")>-1)||(time.indexOf("pm")>-1)){ formatter=newSimpleDateFormat("yyyy-MM-ddKK: mm: ssa"); } ParsePositionpos=newParsePosition(0); java.util.Datectime=formatter.parse(time,pos); returnctime; } /** *将java.util.Date格式转换为字符串格式'yyyy-MM-ddHH: mm: ss'(24小时制) *如SatMay1117: 24: 21CST2002to'2002-05-1117: 24: 21' *@paramtimeDate日期 *@returnString字符串 */ publicstaticStringdateToString(Datetime){ SimpleDateFormatformatter; formatter=newSimpleDateFormat("yyyy-MM-ddHH: mm: ss"); Stringctime=formatter.format(time); returnctime; } /** *将java.util.Date格式转换为字符串格式'yyyy-MM-ddHH: mm: ssa'(12小时制) *如SatMay1117: 23: 22CST2002to'2002-05-1105: 23: 22下午' *@paramtimeDate日期 *@paramxint任意整数如: 1 *@returnString字符串 */ publicstaticStringdateToString(Datetime,intx){ SimpleDateFormatformatter; formatter=newSimpleDateFormat("yyyy-MM-ddKK: mm: ssa"); Stringctime=formatter.format(time); returnctime; } /** *取系统当前时间: 返回只值为如下形式 *2002-10-3020: 24: 39 *@returnString */ publicstaticStringNow(){ returndateToString(newDate()); } /** *取系统当前时间: 返回只值为如下形式 *2002-10-3008: 28: 56下午 *@paramhour为任意整数 *@returnString */ publicstaticStringNow(inthour){ returndateToString(newDate(),hour); } /** *取系统当前时间: 返回值为如下形式 *2002-10-30 *@returnString */ publicstaticStringgetYYYY_MM_DD(){ returndateToString(newDate()).substring(0,10); } /** *取系统给定时间: 返回值为如下形式 *2002-10-30 *@returnString */ publicstaticStringgetYYYY_MM_DD(Stringdate){ returndate.substring(0,10); } publicstaticStringgetHour(){ SimpleDateFormatformatter; formatter=newSimpleDateFormat("H"); Stringctime=formatter.format(newDate()); returnctime; } publicstaticStringgetDay(){ SimpleDateFormatformatter; formatter=newSimpleDateFormat("d"); Stringctime=formatter.format(newDate()); returnctime; } publicstaticStringgetMonth(){ SimpleDateFormatformatter; formatter=newSimpleDateFormat("M"); Stringctime=formatter.format(newDate()); returnctime; } publicstaticStringgetYear(){ SimpleDateFormatformatter; formatter=newSimpleDateFormat("yyyy"); Stringctime=formatter.format(newDate()); returnctime; } publicstaticStringgetWeek(){ SimpleDateFormatformatter; formatter=newSimpleDateFormat("E"); Stringctime=formatter.format(newDate()); returnctime; } 在jsp页面中的日期格式和sqlserver中的日期格式不一样,怎样统一? 在页面上显示输出时,用下面的函数处理一下 publicclassDateUtil(){ publicstaticStringfmtShortEnu(DatemyDate){ SimpleDateFormatformatter=newSimpleDateFormat("yyyy/MM/dd"); StringstrDate=formatter.format(myDate); returnstrDate; } } newjava.text.SimpleDateFormat("yyyy-MM-ddHH: mm: ss"); newjava.text.SimpleDateFormat("yyyy-MM-dd") 建议还是把sqlserver的字段类型改成varchar的吧,用字符串处理可以完全按照自己的意愿处理,没有特殊的需求,不要使用date型 字串日期格式转换 用的API是SimpleDateFormat,它是属於java.text.SimpleDateFormat,所以请记得import进来! 用法: SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-ddHH: mm: ss"); 这一行最重要,它确立了转换的格式,yyyy是完整的西元年,MM是月份,dd是日期,至於HH: mm: ss就不需要我再解释了吧! ps: 为什麽有的格式大写,有的格式小写,那是怕避免混淆,例如MM是月份,mm是分;HH是24小时制,而hh是12小时制 1.字串转日期: 2002-10-815: 30: 22要把它转成日期,可以用 Datedate=sdf.parse("2002-10-815: 30: 22"); 2.日期转字串 假如把今天的日期转成字串可用 Stringdatestr=sdf.format(newDate()); 这个字串的内容便类似2002-10-0814: 55: 38 透过这个API我们便可以随心所欲的将日期转成我们想要的字串格式,例如希望将日期输出成2002年10月08日, 我们可以这麽写: SimpleDateFormatsdf=newSimpleDateFormat("yyyy年MM月dd日"); Stringdatestr=sdf.format(newDate()); datestr便会依照我们设定的格式输出 //对日期格式的转换成("yyyy-MM-dd")格式的方法 publicjava.sql.DateConvert(Stringstr) { java.text.SimpleDateFormatsdf=newjava.text.SimpleDateFormat("yyyy-MM-dd"); try { java.util.Dated=sdf.parse(str); java.sql.Dated1=newjava.sql.Date(d.getTime()); returnd1; } catch(Exceptionex) { ex.printStackTrace(); returnnull; } } 应用如下: ctmt.setDate(7,this.Convert(info.getManBirth()));//@DATETIME 常用日期问题集锦 1、获取服务器端当前日期: <%@pageimport="java.util.Date"%> <% DatemyDate=newDate(); %> 2、获取当前年、月、日: <%@pageimport="java.util.Date"%> <% DatemyDate=newDate(); intthisYear=myDate.getYear()+1900;//thisYear=2003 intthisMonth=myDate.getMonth()+1;//thisMonth=5 intthisDate=myDate.getDate();//thisDate=30 %> 3、按本地时区
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 日期 字符串 转换