java 时间操作 格式化 时区 系统时间

 学习了java时间的各种操作,总结如下类,大家可供参考。

 

package  xiaojiao.date;
import  java.text.DateFormat;
import  java.text.SimpleDateFormat;
import  java.util.Date;
import  java.util.Calendar;
import  java.sql.Timestamp;
import  java.util.GregorianCalendar;
import  java.util.TimeZone;
public   class  DateTest  {

    
public static void main(String[] args) {
    
/**
     * 如何得到系统时间
     
*/

        
//1  System.currentTimeMillis()  用处:测试一段程序的运行时间->(程序结束时间-程序开始时间)
        System.out.println(System.currentTimeMillis());
        
//2  Date date = new Date();
        Date date = new Date();
        
//3  Calendar c = Calendar.getInstance();
        Calendar c = Calendar.getInstance();
        
    
/**
     * 时间格式化
     
*/
    
        
//1 SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
        System.out.println(sdf.format(date));
        
        
//2 Calendar.get(Calendar.YEAR); ---Calendar.MONTH---Calendar.DAY_OF_MONTH
        
//c.setTime(date);  //setTime(Date)方法将Date类型转换为了Calendar类型
        System.out.println(c.get(Calendar.YEAR)+""+(c.get(Calendar.MONTH)+1)+""+c.get(Calendar.DAY_OF_MONTH)+"");
    
    
/**
     * 将String 类型的转换为时间类型   实际应用: 页面得到时间字符串然后转换为时间格式入库
     * java.lang.Object
     *         |___java.util.Date
     *                |___java.sql.Timestamp
     *     public static Timestamp valueOf(String s)将使用 JDBC 时间戳转义格式的 String 对象转换为 Timestamp 值。 
     *     参数:
     *             s - 使用 yyyy-mm-dd hh:mm:ss.fffffffff 格式的时间戳 
     *     返回:
     *             相应的 Timestamp 值
     
*/

        String str 
= "2008-04-17 21:30:30.0";
        Timestamp t 
= Timestamp.valueOf(str);
        System.out.println(t);
        
    
/**
     * 数据库时间类型Date字段取得后如何处理
     * 1 适用ResultSet.getDate("colName")取得后用上面的时间格式化去处理展现
     * 2 ResultSet.getDate("colName")得到的时间类型是不含HH:mm:ss的,应用如下方式取得:
     *      Timestamp getTimestamp(String columnName)
     *                 throws SQLException以 java.sql.Timestamp 对象的形式检索此 ResultSet 对象的当前行中指定列的值。 
     *                 参数:columnName - 列的 SQL 名称 
     *                 返回:列值;如果值为 SQL NULL,则返回值为 null 
     *                 抛出: SQLException - 如果发生数据库访问错误
     
*/

        
        
    
/**
     * 时区应用
     * java.lang.Object
     *         |__java.util.Calendar
     *                 |__java.util.GregorianCalendar
     * GregorianCalendar 是 Calendar 的一个具体子类,提供了世界上大多数国家/地区使用的标准日历系统。
     * GregorianCalendar(TimeZone zone)    一个构造方法
     *       在具有默认语言环境的给定时区内构造一个基于当前时间的 GregorianCalendar。
     *   
     *java.lang.Object
     *       |__java.util.TimeZone
     * public abstract class TimeZone 抽象类
     * static TimeZone::getTimeZone(String ID) 获取给定 ID 的 TimeZone 
     
*/

        Calendar cJapan 
= GregorianCalendar.getInstance(TimeZone.getTimeZone("Japan"));
        System.out.println(cJapan.get(Calendar.HOUR_OF_DAY));
        
        
    
/**
     * 时区字符串getTimeZone(String ID)   String ID是定义好的   如何知道
     
*/

        
for(String s:TimeZone.getAvailableIDs()){
            System.out.println(s);
        }

    }


}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值