黑马程序员——JAVA日期类型转换

本文介绍如何使用Java进行日期和时间的操作,包括获取当前时间、字符串与日期类型转换、使用SimpleDateFormat格式化日期等技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

———Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ———
import java.text.*;
import java.util.*;
1.-----------------------------------------
得到系统当前时间:
java.util.Date dt=new java.util.Date();
System.out.print(dt); //输出结果是:Wed Aug 10 11:29:11 CST 2005
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
System.out.print(sdf.format(dt)); //输出结果是:2005-08-10
2.-----------------------------------------
把字符串转化为java.util.Date
方法一:
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
java.util.Date dt=sdf.parse("2005-2-19");
System.out.print(sdf.format(dt));    //输出结果是:2005-2-19
方法二:
java.util.Date dt=null;
DateFormat df=DateFormat.getDateInstance();
dt=df.parse("2005-12-19");
System.out.println(dt);              //输出结果为:Mon Dec 19 00:00:00 CST 2005
System.out.println(df.format(dt)); //输出结果为:2005-2-19
3.-----------------------------------------
把字符串转化为java.sql.Date
字符串必须是"yyyy-mm-dd"格式,否则会抛出IllegalArgumentException异常
java.sql.Date sdt=java.sql.Date.valueOf("2005-9-6");
System.out.println(sdt);          //输出结果为:2005-9-6
4.-----------------------------------------
TestApp.java
public class TestApp {
    public static void main(String[] args) {
        System.out.println("Hello World!");
        Date d=new Date();
        
        //System.out.println(d.toLocaleString());
        
        //Calendar cld=Calendar.getInstance();
        System.out.println("Calendar.get(Calendar.DATE)"+(Calendar.getInstance().get(Calendar.DATE)));
        
        Date dt=new Date();//Date(103,-5,-6);
        System.out.println("getNowYear(Date dt)"+getYear(dt));
        System.out.println("getNowMonth(Date dt)"+getMonth(dt));
        System.out.println("getNowDate(Date dt)"+getDate(dt));
    }
   
   
    public static int getNowYear(){
        return Calendar.getInstance().get(Calendar.YEAR);
    }
   
    public static int getYear(Date dt)throws NullPointerException{
        if(dt==null){
            throw new NullPointerException("日期参数为null");
        }else{
            Calendar cld=Calendar.getInstance();
            cld.setTime(dt);
            return cld.get(Calendar.YEAR);
        }
    }
    
   
    public static int getNowMonth(){
        return 1+Calendar.getInstance().get(Calendar.MONTH);
    }
    
   
    public static int getMonth(Date dt)throws NullPointerException{
        if(dt==null){
            throw new NullPointerException("日期参数为null");
        }else{
            Calendar cld=Calendar.getInstance();
            cld.setTime(dt);
            return 1+cld.get(Calendar.MONTH);
        }
    }
   
    public static int getNowDate(){
        return 1+Calendar.getInstance().get(Calendar.DATE);
    }
    
   
    public static int getDate(Date dt)throws NullPointerException{
        if(dt==null){
            throw new NullPointerException("日期参数为null");
        }else{
            Calendar cld=Calendar.getInstance();
            cld.setTime(dt);
            return cld.get(Calendar.DATE);
        }
    }
}
//   格式化日期为字符串   "yyyy-MM-dd   hh:mm"
public String formatDateTime(Date basicDate, String strFormat) {
    SimpleDateFormat df = new SimpleDateFormat(strFormat);
    return df.format(basicDate);
}
//   格式化日期为字符串   "yyyy-MM-dd   hh:mm"
public String formatDateTime(String basicDate, String strFormat) {
    SimpleDateFormat df = new SimpleDateFormat("yy-MM-dd hh:mm");
    SimpleDateFormat df1 = new SimpleDateFormat(strFormat);
    DateFormat df3 = DateFormat.getDateInstance(DateFormat.LONG);
    Date tmpDate = null;
    try {
      tmpDate = df1.parse(basicDate);
    }
    catch (Exception e) {
      //   日期型字符串格式错误
      return basicDate;
    }
    return df.format(tmpDate);
}

### 黑马程序员 Java 学习资料概述 #### 推荐的学习资源 对于希望深入学习Java编程的人来说,黑马程序员提供了丰富的学习材料。其中包括一套全面覆盖基础知识到高级应用的视频教程[^1]。这套课程不仅适合初学者快速上手,还包含了来自斯坦福大学的经典练习题目以及LeetCode上的算法挑战,有助于提升解决问题的能力。 #### 基础概念讲解 在这些教学资料中,涵盖了Java的基础知识点,如语言特性、环境配置(包括JDK的安装)、第一个程序编写——即经典的`HelloWorld`实例[^3]。除此之外,还有关于变量声明、数据类型的介绍及其相互之间的转换方法等内容。 #### 实战案例分析 为了使理论更加贴近实际应用场景,在官方提供的笔记里记录了许多具体的例子来辅助理解抽象的概念。例如,“两只老虎”的故事用来解释面向对象的思想;通过构建简单的条件分支结构实现“判断奇偶数”的功能展示如何运用控制流语句解决日常遇到的小问题;利用循环机制完成诸如计算斐波那契序列这样的任务则展示了迭代的力量。 #### 错误处理技巧 面对可能出现的各种运行时错误情况,如数组索引超出范围(ArrayIndexOutOfBoundsException),尝试访问未初始化的对象(null pointer exception)或是非法强制型(class cast exception)[^4],课程同样给予了充分的关注,并教授学员们怎样有效地捕获并妥善处置这些问题,从而提高软件系统的健壮性和可靠性。 ```java try { // 可能抛出异常的操作 } catch (SpecificException e) { System.out.println("Caught an error: " + e.getMessage()); } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值