zoukankan      html  css  js  c++  java
  • Java基础-Java中的Calendar和Date类

    Java语言的Calendar(日历),Date(日期),和DateFormat(日期格式)组成了Java标准的一个基本但是非常重要的部分。日期是商业逻辑计算一个关键的部分。所有的开发者都应该能够计算未来的日期,定制日期的显示格式,并将文本数据解析成日期对象。
    
    创建一个日期对象 
    
            让我们看一个使用系统的当前日期和时间创建一个日期对象并返回一个长整数。这个时间通常被称为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()); 
    
    } }
    
     
            在星期六,2001年9月29日,下午大约是6:50的样子,上面的例子在系统输出设备上显示的结果是 1001803809710。值得注意的是我们使用了Date 构造函数创建一个日期对象,这个构造函数没有接受任何参数,而这个构造函数在内部使用了System.currentTimeMillis() 方法来从系统获取日期。现在我们已经知道了如何获取从1970年1月1日开始经历的毫秒数了。我们如何才能以一种用户明白的格式来显示这个日期呢? 在这里类java.text.SimpleDateFormat 和它的抽象基类 java.text.DateFormat 就派得上用场了。
    
    日期数据的定制格式 
    
            假如我们希望定制日期数据的格式,比方星期六-9月-29日-2001年. 下面的例子展示了如何完成这个工作:
    
    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",我们就能够指明自己想要的格式。格式字符串中的ASCII 字符告诉格式化函数下面显示日期数据的哪一个部分。EEEE是星期,MMMM是月,dd是日,yyyy是年。字符的个数决定了日期是如何格式化的。传递"EE-MM-dd-yy"会显示 Sat-09-29-01。
    
    将文本数据解析成日期对象 
    
            假设我们有一个文本字符串包含了一个格式化了的日期对象,我们希望解析这个字符串并从文本日期数据创建一个日期对象。我们将再次以格式化字符串"MM-dd-yyyy" 调用SimpleDateFormat类。但是这一次,我们使用格式化解析而不是生成一个文本日期数据。我们的例子,显示在下面,将解析文本字符串"9-29-2001"并创建一个值为001736000000 的日期对象。
    
     
    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 = "9-29-2001";
    
    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());
    
    }
    
    } }
    

      

  • 相关阅读:
    阿里DatatX mysql8往 Elasticsearch 7 插入时间数据 时区引发的问题
    通俗易懂 k8s (3):kubernetes 服务的注册与发现
    ReplicaSet 和 ReplicationController 的区别
    使用Go module导入本地包
    k8s之statefulset控制器
    终于成功部署 Kubernetes HPA 基于 QPS 进行自动伸缩
    Atitit drmmr outline org stat vb u33.docx Atitit drmmr outline org stat v0 taf.docx Atitit drmmr out
    Atitit all diary index va u33 #alldiary.docx Atitit alldiaryindex v1 t717 目录 1. Fix 1 2. Diary deta
    Atitit path query 路径查询语言 数据检索语言 目录 1.1. List map >> spel 1 1.2. Html数据 》》Css选择符 1 1.3. Json 》map》
    Atitit prgrmlan topic--express lan QL query lan表达式语言 目录 1. 通用表达语言(CEL) 1 1.1. 8.2 功能概述 1 1.2. Ongl
  • 原文地址:https://www.cnblogs.com/cyjch/p/2340369.html
Copyright © 2011-2022 走看看