开始学java--日期Date()相关

创建一个日期对象

使用系统的当前日期和时间创建一个日期对象并返回一个长整数的简单例子。 这个时间通常被称为Java 虚拟机(JVM)主机环境的系统时间。

          
          import java.util.Date; 
public class DateExample1 
{
   public static void main(String[] args)
   {
    // Get the system date/time
    Date date = new Date();
    System.out.println(date.getTime());
    }
}

今天是星期一,2005年8月8日,上午8:43,上面的例子在系统输出设备上显示的结果是1123461832312。

日期数据的定制格式

使用类java.text.SimpleDateFormat和它的抽象基类 java.text.DateFormat 完成日期数据的格式定制,比方今天星期一-八月-08-2005。下面的例子展示了如何完成这个工作:

          
          import java.text.SimpleDateFormat; 
import java.util.Date;
public class DateExample2 
{
  public static void main(String[] args) 
 {
  SimpleDateFormat bartDateFormat = new SimpleDateFormat
   ("EEEE-MMMM-dd-yyyy");
  Date date = new Date();
  System.out.println(bartDateFormat.format(date));
  }
}


只要通过向SimpleDateFormat 的构造函数传递格式字符串"EEE-MMMM-dd-yyyy",就能够指明自己想要的格式。运行结果就是:星期一-八月-08-2005 了。传递"EE-MM-dd-yy"会显示 星期一-08-08-05 。

将文本数据解析成日期对象

假设一个文本字符串包含了一个格式化了的日期对象,而需要解析这个字符串并从文本日期数据创建一个日期对象。下面的例子,将解析文本字符串"8-8-2005"并创建一个值为1123430400000 的日期对象。

例子程序:

          
          import java.text.SimpleDateFormat; 
import java.util.Date;
public class DateExample3
{
  public static void main(String[] args)
 {
    // Create a date formatter that can parse dates of the form MM-dd-yyyy.
    SimpleDateFormat bartDateFormat = new SimpleDateFormat("MM-dd-yyyy");
   
    // Create a string containing a text date to be parsed.
    String dateStringToParse = "8-8-2005";
    try {
      // Parse the text version of the date.
      //We have to perform the parse method in a
      //try-catch construct in case dateStringToParse
      //does not contain a date in the format we are expecting.
      Date date = bartDateFormat.parse(dateStringToParse);
      // Now send the parsed date as a long value
      // to the system output.
      System.out.println(date.getTime());
    }
    catch (Exception ex){
      System.out.println(ex.getMessage());  
    }
  }
}


使用标准的日期格式化过程

可以生成和解析定制的日期格式后,现在来看一看如何使用内建的格式化过程。使用方法DateFormat.getDateTimeInstance()可以得到用几种不同的方法获得标准的日期格式化过程。在下面的例子中,我们获取了四个内建的日期格式化过程。它们包括一个短的,中等的,长的,和完整的日期格式。

          
          import java.text.DateFormat; 
import java.util.Date;

public class DateExample4
{
  public static void main(String[] args)
 {
   Date date = new Date();
   DateFormat shortDateFormat = DateFormat.getDateTimeInstance
              (DateFormat.SHORT,DateFormat.SHORT);
   DateFormat mediumDateFormat = DateFormat.getDateTimeInstance
              (DateFormat.MEDIUM,DateFormat.MEDIUM);
   DateFormat longDateFormat = DateFormat.getDateTimeInstance
              (DateFormat.LONG,DateFormat.LONG);
   DateFormat fullDateFormat = DateFormat.getDateTimeInstance
              DateFormat.FULL,DateFormat.FULL);

    System.out.println(shortDateFormat.format(date)); 
    System.out.println(mediumDateFormat.format(date));
    System.out.println(longDateFormat.format(date));
    System.out.println(fullDateFormat.format(date));
  }
}


注意我们在对 getDateTimeInstance的每次调用中都传递了两个值。 第一个参数是日期风格, 而第二个参数是时间风格。 它们都是基本数据类型int(整型)。考虑到可读性,这里使用了DateFormat 类提供的常量: SHORT, MEDIUM, LONG, 和 FULL。

运行例子程序, 它将向标准输出设备输出下面的内容:

          
          05-8-8 上午9:17 
2005-8-8 9:17:42
2005年8月8日 上午09时17分42秒
2005年8月8日 09时17分42秒 GMT+08:00

(完成 程序测试结果基于JDK1.2.2)




阅读全文(133) | 回复(2) | 引用(0)
Diary回复:java Date 显示格式
[ chenglong发表评论于2005-8-10 2:51:06 ]

第一个要求很简单的,就是先定制一个年月日字符型格式的日期,然后将它解析成一个日期对象;再设置一个只显示星期几的日期的格式,将上面的日期对象格式输出就行了。

第二个要求也不难,你是想对数据库中的数据操作,我这里就用数组给你模拟一下吧。我定义了两个int变量SHANGBAN,XIUXI,对应你的两个字段值1和0,然后我对8月的数据进行了操作(我是假设双休日休息,对应今年的这个月),根据输入的年月日字符,用substing提取了各个字段,然后进行相应查找就行了。你可以用各个字段到数据库中相应的那一天查询对应的值就ok了。

下面是我的程序:

import java.text.SimpleDateFormat;
import java.util.Date;
import java.lang.String;
import java.lang.Integer;
public class DateExample{  
  public static void main(String[] args){
   int SHANGBAN = 1; //上班
   int XIUXI = 0;  //休息
   int[] AugDay = { //八月份数据
         SHANGBAN,SHANGBAN,SHANGBAN,SHANGBAN,SHANGBAN,XIUXI,XIUXI,
         SHANGBAN,SHANGBAN,SHANGBAN,SHANGBAN,SHANGBAN,XIUXI,XIUXI,
         SHANGBAN,SHANGBAN,SHANGBAN,SHANGBAN,SHANGBAN,XIUXI,XIUXI,
         SHANGBAN,SHANGBAN,SHANGBAN,SHANGBAN,SHANGBAN,XIUXI,XIUXI,
         SHANGBAN,SHANGBAN,SHANGBAN
    };
    // Create a date formatter that can parse dates of the form yyyy-MM-dd.    
    SimpleDateFormat bartDateFormat1 = new SimpleDateFormat("yyyy-MM-dd");        
    // Create a string containing a text date to be parsed.    
    String dateStringToParse = "2005-8-10";   //可以改成接受输入 
    try {
     Date date = bartDateFormat1.parse(dateStringToParse);
     SimpleDateFormat bartDateFormat2 = new SimpleDateFormat("EEEE");
     System.out.println(dateStringToParse + " " +bartDateFormat2.format(date));
     
     int year = Integer.parseInt(dateStringToParse.substring(0,4));
      int month = Integer.parseInt(dateStringToParse.substring(5,6));
      int day = Integer.parseInt(dateStringToParse.substring(7,9));
    
      if(month == 8){
       //假如输入的是8月份的话(这里只是演示,指的是今年8月,你可以按你的需要修改)
       if(AugDay[day-1] == SHANGBAN){
        System.out.println("今天上班");
       }
       else{
        System.out.println("今天休息");
       }
      }
   }
   catch (Exception ex){      
    System.out.println(ex.getMessage()); 
    }
  }
}

输入时间是2005-8-10,只用了八月的数组里的值来显示大体的意思,你完全可以修改满足你的需要。最后显示结果为:

2005-8-10 星期三
今天上班

好了,应该很清楚了吧,加油,也感谢你的支持!

I LOVE JAVA!

### 回答1: DateJava中常用的日期,用于日期时间。它提供了很多方法来获取和设置日期时间,如获取年份、月份、日期、小时、分钟、秒等。同时,它还可以进行日期时间的比较、格式化等操作。在Java中,Date已经被废弃,建议使用java.time包中的来代替。 ### 回答2: DateJava中常用的之一,它可以一个日期时间。在Java.util包中,使用Date创建一个日期对象,可以示自1970年1月1日00:00:00 GMT以来的毫秒数。 Date有两个构造方法,一个没有参数,另一个接受一个long型的参数,这个参数是从1970年1月1日00:00:00 GMT开始计数的毫秒数。Date的toString()方法返回格式化的日期时间字符串。 除了基本的构造函数和toString()方法,Date还提供了许多实用的方法,如equals(),compareTo(),before()和after()等。这些方法可以帮助我们比较和判断两个日期的大小和顺序。 应用场景方面,Date广泛用于日志记录、定时任务及数据存储等领域,而在开发中,日期时间的处理和转换非常的常见。 最后,需要注意的是,Java 8之后,推荐使用新的java.time包来处理日期时间。它提供了更多的方法和更好的性能,尤其是线程安全方面有明显的优势。因此,在新的开发中,建议使用java.time包来处理日期时间。 ### 回答3: Java中的Date一个非常常用的日期时间操作,它封装了日期时间的特定瞬间的毫秒数。Date提供了许多有用的方法来获取和格式化日期时间信息,并且能够进行日期时间的计算和比较。 具体来说,Date提供了以下几个常用的方法: 1. getTime()方法:返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象示的毫秒数。 2. toString()方法:将此 Date 转换为 String,格式为默认格式(例如:"Tue Aug 31 23:59:59 GMT+08:00 2021")。 3. after(Date when)方法:判断此 Date 对象是否在when之后。 4. before(Date when)方法:判断此 Date 对象是否在when之前。 5. equals(Object obj)方法:判断此 Date 对象是否与obj示的对象相等。 6. compareTo(Date anotherDate)方法:将此 Date 与另一个 Date 进行比较。 7. setTime(long time)方法:设置此 Date 对象时间,以示自标准基准时间(称为“纪元”)以来指定的毫秒数。 另外,在使用Date时也需要注意:Date的大多数方法已经被废弃,因为它们不考虑区域设置,而且大多数方法都被Calendar所替代,因此建议使用Calendar来代替Date。 总之,Java中的Date一个非常常用的日期时间操作,在Java编程中使用频率也非常高。熟练掌握Date使用方法,有助于我们在Java编程中进行日期时间的处理和计算。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值