`
cncoke
  • 浏览: 71139 次
社区版块
存档分类
最新评论

java.text.SimpleDateFormat的用法

 
阅读更多

Date类内部既不存储年月日也不存储时分秒,而是存储一个从1970年1月1日0点0分0秒开始的毫秒数,而真正有用的年月日时分秒毫秒都是从这个毫秒数转化而来,这是它不容易被使用的地方,尤其是显示和存储的场合。但Date类的优势在于方便计算和比较。
另一点,日常生活中我们习惯用年月日时分秒这样的文本日期来表示时间,它方便显示和存储,也容易理解,但不容易计算和比较。
综上所述,我们在程序中进行日期时间处理时经常需要在在文本日期和Date类之间进行转换,为此我们需要借助java.text.SimpleDateFormat类来进行处理,下文列举了它的几个常用示例。

 

1.将Date转化为常见的日期时间字符串
这里我们需要用到java.text.SimpleDateFormat类的format方法,其中可以指定年月日时分秒的模式字符串格式。

Date date = new Date();
Format formatter = new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒");
System.out.println("转化的时间等于="+formatter.format(date));

 

其中
yyyy表示四位数的年份
MM表示两位数的月份
dd表示两位数的日期
HH表示两位数的小时
mm表示两位数的分钟
ss表示两位数的秒钟

 

 

2.将文本日期转化为Date以方便比较
文本日期的优势在于便于记忆,容易处理,但缺点是不方便比较,这时我们需要借助SimpleDateFormat的parse方法得到Date对象再进行比较,实例如下:

String strDate1="2004年8月9日";
String strDate2="2004年10月5日";

SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy年MM月dd日");
java.util.Date date1 = myFormatter.parse(strDate1);

java.util.Date date2 = myFormatter.parse(strDate2);

// Date比较能得出正确结果
if(date2.compareTo(date1)>0){
      System.out.println(strDate2+">"+strDate1);
}

// 字符串比较得不出正确结果
if(strDate2.compareTo(strDate1)>0){
      System.out.println(strDate2+">"+strDate1);
}



 

3.将文本日期转化为Date以方便计算
文本日期的另一个大问题是不方便计算,比如计算2008年1月9日的100天后是那一天就不容易,此时我们还是需要把文本日期转化为Date进行计算,再把结果转化为文本日期:

SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy年MM月dd日");
java.util.Date date = myFormatter.parse("2008年1月9日");
date.setDate(date.getDate()+100);

// 得到2008年04月18日
System.out.println("100天后为"+myFormatter .format(date));

 
javaScript中的日期
 // date= "2003/12/18 ";     //正确的字符串表示日期的格式
  //d=new   Date(date);
  //yy=d.getFullYear();   //取满年
 //mm=d.getMonth()+1;   //取月份
 //dd=d.getDate();   //取日期
 //ww=d.getDay();
  var d=new Date();
  //d.setFullYear(2003,3,34);//其中3表示4月,34表示不在指定天数范围内时,会自动调整
  var s=d.toCommonCase();
  //var s1=d.toLocaleString();
  //var result=s1.split("年");
  //var y=result[1].split("月");
  //alert(y[0]);
 

分享到:
评论

相关推荐

    编写一个java应用程序将一个包含多个子目录和文件的目录复制到另外一个指定的目录下

    import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import javax.swing.filechooser.FileFilter; 实验后的结果验证 总结体会 通过此次实验,我初步掌握了复制的目录中包含的...

    java中时间类Date和Calendar的使用

    java中时间类Date和Calendar的使用  java中时间类Date和Calendar的使用  <PRE class=java name="code">package cn.com;  import java.text.... import java.text.SimpleDateFormat; 解压密码 www.jiangyea.com

    java日期处理总结

    java中关于日期处理的总结,包含各种日期格式之间的转java.util.Date(已经不提倡使用,该类的方法比较少) java.util.Calendar(抽象类) java.util.GregorianCalendar(是Calendar的子类,日期处理时候经常使用该类)****...

    jackson-all 日期处理

    mapper.getSerializationConfig().setDateFormat(new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss")); mapper.getDeserializationConfig().setDateFormat(new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm...

    java常用工具类的使用

    SimpleDateFormat是DateFormat的子类,用法和DateFormat类基本一致,主要使用format()方法。 代码演示:SimpleDateFormat进行日期转换 import java.text.SimpleDateFormat; import java.util.Date; public class ...

    Java中SimpleDateFormat用法详解

    SimpleDateFormat 是一个以国别敏感的方式格式化和分析数据的具体类。 它允许格式化 (date -> text)、语法分析 (text -> date)和标准化.这篇文章主要介绍了Java中SimpleDateFormat用法详解,需要的朋友可以参考下

    JSP的include指令的使用方法

    JSP的include指令的使用方法 一 语法 <%@ include file=URL%> 二 代码 1、date.jsp <%@ page language=java import=java.util.* contentType=text/html; charset=utf-8%> <%@ page import...

    java发送短信之AT指令

    this.smstext = smstext; } public Date getDate() { return date; } public void setDate(Date date) { this.date = date; } public int getId() { return id; } public void setId(Integer id) { ...

    fileupload

    //有两种保存方法,一种是保存在myUpload.setRealPath()的设定路径中,使用saveAs(),一种是另外保存到其他文件夹,使用.saveAs(String realPath) myFiles.getFile(i).saveAs(); Thread.sleep(50); } } ...

    freemarker总结

    JAVA模版引擎Freemarker常用标签(一) 1. if指令 这是一个典型的分支控制指令,该指令的作用完全类似于Java语言中的if,if指令的语法格式如下: <#if condition>... <#elseif condition>... <#elseif condition>......

Global site tag (gtag.js) - Google Analytics