• java.util.Date用法小结


    java中的时间操作不外乎这四种情况:
    1、获取当前时间
    2、获取某个时间的某种格式
    3、设置时间
    4、时间的运算
    好,下面就针对这三种情况,一个一个搞定。
    一、获取当前时间
    有两种方式可以获得,第一种,使用Date类。
    j2SE的包里有两个Date类,一个是java.sql.Date,一个是java.util.Date
    这里,要使用java.util.Date。获取当前时间的代码如下
    Date date = new Date();
    date.getTime();
    还有一种方式,使用System.currentTimeMillis();
    这两种方式获得的结果是一样的,都是得到一个当前的时间的long型的时间的毫秒值,这个值实际上是当前时间值与1970年一月一号零时零分零秒相差的毫秒数。
    当前的时间得到了,但实际的应用中最后往往不是要用这个long型的东西,用户希望得到的往往是一个时间的字符串,比如“2006年6月18号”,或“2006-06-18”,老外可能希望得到的是“06-18-2006”,诸如此类等等。这就是下一个要解决的问题
    二、获取某个时间的某种格式
    获取时间的格式,需要用到一个专门用于时间格式的类java.text.SimpleDateFormat。
    首先,定义一个SimpleDateFormat变量
    SimpleDateFormat sdf = new SimpleDateFormat("",Locale.SIMPLIFIED_CHINESE);
    这个构造函数的定义如下:
    SimpleDateFormat(String pattern, Locale locale)
    第一个参数pattern,我们后面再解释,这里我们使用一个"",第二个参数,是用来设置时区的,这里用到了java.util.Locale 这个类,这个类了面定义了很多静态变量,直接拿过来用就OK,我们把时区设置为Locale.SIMPLIFIED_CHINESE,只看名字,这个静态变量的意义已经很清楚了。
    接下来我们使用这个SimpleDateFormat把当前时间格式化为一个如下格式的时间字符串“XXXX年XX月XX日_XX时XX分XX秒”,代码:
    sdf.applyPattern("yyyy年MM月dd日_HH时mm分ss秒");
    String timeStr = sdf.format(new Date());
    获取时间格式的函数是format,这个函数的参数是java.util.Date对象,这个没有什么花头。
    要说明一下的是这个pattern,所谓的模式。这里,yyyy,MM,dd等,这就是模式。
    我们可以在SimpleDateFormat的构造函数中指定模式,比如
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd",Locale.SIMPLIFIED_CHINESE);
    也可以获取时间格式的时候使用applyPattern函数临时指定,上面的例子就是这样。
    什么字符代表什么,这是j2se约定好的,设置模式的时候,我们可以使用约定好的字符加上任何我们想要的字符串。
    j2se对字符所代表的模式的约定列表如下:
    Letter Date or Time Component  Presentation 
    G Era designator  Text 
    y Year  Year 
    M  Month in year  Month 
    w  Week in year  Number 
    W  Week in month  Number 
    D  Day in year Number 
    d  Day in month  Number 
    F  Day of week in month  Number 
    E  Day in week  Text
    a  Am/pm marker  Text 
    H  Hour in day (0-23) Number 
    k  Hour in day (1-24) Number 
    K  Hour in am/pm (0-11)  Number 
    h   Hour in am/pm (1-12)  Number 
    m   Minute in hour  Number 
    s   Second in minute  Number 
    S   Millisecond  Number  
    z   Time zone   General time zone 
    Z   Time zone  RFC 822 time zone 

  • 相关阅读:
    Windows上使用“LogView”打开大文件
    windows CMD命令查看局域网内所有主机名及IP
    解决Sqlserver 2008 R2在创建登录名出错"此版本的 Microsoft Windows 不支持 MUST_CHANGE 选项。 (Microsoft SQL Server,错误: 15195)"
    解决 ASP.NET 编辑错误"CS0006: 未能找到元数据文件C:WINDOWSassemblyGAC_32System.EnterpriseServices2.0.0.0__b03f5f7f11d50a3aSystem.EnterpriseServices.dll"
    ASP 未结束的字符串常量
    Godaddy ssl续费更新问题总结
    [转]How to query posts filtered by custom field values
    SqlServer 在查询结果中如何过滤掉重复数据
    [UE4]C++的const类成员函数
    [UE4]C++三种继承方式
  • 原文地址:https://www.cnblogs.com/winkey4986/p/2546333.html
Copyright © 2020-2023  润新知