国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Java中的SimpleDateFormat方法分析

這篇具有很好參考價值的文章主要介紹了Java中的SimpleDateFormat方法分析。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

先進行專欄介紹

本專欄是自己學Java的旅途,純手敲的代碼,自己跟著黑馬課程學習的,并加入一些自己的理解,對代碼和筆記
進行適當修改。希望能對大家能有所幫助,同時也是請大家對我進行監(jiān)督,對我寫的代碼進行建議,互相學習。
Java中的SimpleDateFormat方法分析,Java,java,開發(fā)語言

SimpleDateFormat方法

在Java中,SimpleDateFormat類是用于日期格式化和解析的類。它位于java.text包中。

分析

SimpleDateFormat SimpleDateFormat是一個用于區(qū)域設置敏感的方式格式化和解析日期的具體類
日期和時間格式由日期和時間模式字符串指定,在日期和時間模式字符串中,
從’A’到’Z’以及從‘a(chǎn)’到’z’引號中的字母被解釋為表示日期或時間字符串的組成部分的模式字母
常用模式字母 y 年 M 月 d 日 H 時 m 分 s 秒
舉例 2021年10月27日11:11:11
模式 yyyy年MM月dd日HH:mm:ss
Java中的SimpleDateFormat方法分析,Java,java,開發(fā)語言

常用方法

構造方法

SimpleDateFormat():構造一個SimpleDateFormat,使用默認模式和日期 SimpleDateFormat(String pattern): 構造一個SimpleDateFormat使用給定的模式和默認的日期格式

格式化(從Date到String)

String format(Date date):將日期格式化成日期/時間字符串

舉例
Date now = new Date();
String formattedDate = sdf.format(now);
System.out.println(formattedDate);
分析

我們使用format()方法將當前日期和時間對象格式化為一個字符串,并將其打印到控制臺上。

解析(從String到Date)

Date parse(String source):從給定字符串的開始解析文本以生成日期

舉例
String dateStr = "2022-01-01 12:00:00";
Date parsedDate = sdf.parse(dateStr);
System.out.println(parsedDate);
分析

使用parse()方法將一個字符串解析為一個日期對象,并將其打印到控制臺上。

設置方法:

void setLenient(boolean lenient):設置解析時是否寬松的解析日期,默認為true,即寬松解析,對于一些不合法的日期也會嘗試解析。
void setDateFormatSymbols(DateFormatSymbols newFormatSymbols):設置用于格式化和解析日期的DateFormatSymbols對象,用于指定月份、星期幾等的名稱。

Java中的SimpleDateFormat方法分析,Java,java,開發(fā)語言

注意

SimpleDateFormat不是線程安全的。如果多個線程同時使用同一個SimpleDateFormat對象,可能會導致結果不正確。為了解決這個問題,我們可以使用ThreadLocal來確保每個線程都有自己的SimpleDateFormat對象。

是SimpleDateFormat對于日期格式的解析是寬松的。這意味著它會嘗試解析不完整或不正確的日期字符串,并返回一個可能不準確的日期對象。為了避免這種情況,我們應該始終使用嚴格的日期格式,并在解析之前對日期字符串進行驗證。

代碼示例

代碼

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class crj {
    public static void main(String[] args) {
        //Date():
        Date d1 = new Date();
        System.out.println(d1);
        //Date(long date):  1000(毫秒)*60*60   一小時
        Date d2 = new Date(1000 * 60 * 60);
        System.out.println(d2);

        Date d = new Date();
//        SimpleDateFormat sdf = new SimpleDateFormat();
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
        String s = sdf.format(d);
        System.out.println(s);
        System.out.println("-------");
        //解析
        String ss="2021-10-27 11:11:11";
//        SimpleDateFormat sdf2=new SimpleDateFormat("2021年10月27日 11:11:11");
        SimpleDateFormat sdf2=new SimpleDateFormat("2021-10-27 11:11:11");
        Date dd= null;
        try {
            dd = sdf2.parse(ss);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        System.out.println(dd);
    }
}

結果

Wed Aug 09 07:47:56 CST 2023
Thu Jan 01 09:00:00 CST 1970
2023年08月09日 07:47:56
-------
Thu Jan 01 00:00:00 CST 1970

Java中的SimpleDateFormat方法分析,Java,java,開發(fā)語言

綜合案例

import com.itheima_05.DateChooser;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class crj {
    public static void main(String[] args) {
        JFrame jf = new JFrame();

        jf.setTitle("考勤查詢");
        jf.setSize(400, 300);
        jf.setDefaultCloseOperation(3);
        jf.setLocationRelativeTo(null);
        jf.setAlwaysOnTop(true);
        jf.setLayout(null);
        //顯示考勤日期
        JLabel dataLable = new JLabel("考勤日期");
        dataLable.setBounds(50, 20, 100, 20);
        jf.add(dataLable);
        //開始時間
        JLabel startDateLable = new JLabel("開始時間");
        startDateLable.setBounds(50, 70, 100, 20);
        jf.add(startDateLable);

        DateChooser dateChooser1 = DateChooser.getInstance("yyyy/MM/dd");
        DateChooser dateChooser2 = DateChooser.getInstance("yyyy/MM/dd");
        //開始時間輸入框
        JTextField startDateField = new JTextField();
        startDateField.setBounds(50, 100, 100, 20);
        dateChooser1.register(startDateField);
        jf.add(startDateField);
        //結束時間
        JLabel endDateLable = new JLabel("結束時間");
        endDateLable.setBounds(250, 70, 100, 20);
        jf.add(endDateLable);
        //結束時間輸入框
        JTextField endDateField = new JTextField();
        endDateField.setBounds(250, 100, 100, 20);
        dateChooser2.register(endDateField);
        jf.add(endDateField);
        //確定按鈕
        JButton confirmButton = new JButton("確定");
        confirmButton.setBounds(250, 180, 60, 20);
        jf.add(confirmButton);

        confirmButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
                //獲取開始 結束時間
                String startDateString = startDateField.getText();
                String endDateString = endDateField.getText();

                try {
                    Date startDate = sdf.parse(startDateString);
                    Date endDate = sdf.parse(endDateString);

                    JOptionPane.showMessageDialog(jf,startDate+"\n"+endDate);
                } catch (ParseException ex) {
                    ex.printStackTrace();
                }
            }
        });
        jf.setVisible(true);
    }
}

效果

Java中的SimpleDateFormat方法分析,Java,java,開發(fā)語言文章來源地址http://www.zghlxwxcb.cn/news/detail-636894.html

到了這里,關于Java中的SimpleDateFormat方法分析的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Java之SimpleDateFormat的用法詳解

    在日常開發(fā)中,我們經(jīng)常會用到時間,我們有很多辦法在Java代碼中獲取時間。但是不同的方法獲取到的時間的格式都不盡相同,這時候就需要一種格式化工具,把時間顯示成我們需要的格式。 最常用的方法就是使用SimpleDateFormat類。這是一個看上去功能比較簡單的類,但是,

    2024年04月13日
    瀏覽(18)
  • Java中SimpleDateFormat的線程安全性問題

    Java中SimpleDateFormat的線程安全性問題

    在日常開發(fā)中,我們經(jīng)常會用到時間,我們有很多辦法在Java代碼中獲取時間。但不同的方法獲取到的時間格式不盡相同,這時就需要一種格式化工具,把時間顯示成我們需要的格式,最常用的方法就是使用SImpleDateFormat類。這是一個看上去功能比較簡單的類,但使用不當,也

    2024年01月25日
    瀏覽(17)
  • 【Java 基礎篇】Java日期和時間格式化與解析指南:SimpleDateFormat詳解

    【Java 基礎篇】Java日期和時間格式化與解析指南:SimpleDateFormat詳解

    日期和時間在軟件開發(fā)中經(jīng)常被用到,無論是用于記錄事件、計算時間間隔還是格式化日期以供用戶友好的展示。Java 提供了強大的日期和時間處理工具,其中 SimpleDateFormat 類是一個重要的工具,用于格式化日期和時間,同時也支持解析日期和時間。本篇博客將深入探討 Sim

    2024年02月09日
    瀏覽(48)
  • Java開發(fā)中的常見問題和解決方法:如何解決常見的性能和bug問題

    Java開發(fā)中的常見問題和解決方法:如何解決常見的性能和bug問題

    ? 在Java開發(fā)中,我們經(jīng)常會面臨各種各樣的問題,包括性能問題和Bug。這些問題可能會導致應用程序的運行變慢、不穩(wěn)定甚至崩潰。本文將介紹一些常見的Java開發(fā)問題,并提供解決這些問題的方法和技巧,幫助開發(fā)人員更好地處理性能和Bug問題。 性能問題是Java開發(fā)中最常見

    2024年02月09日
    瀏覽(36)
  • Java SimpleDateFormat設置時區(qū)導致時間不正確的解決方案

    問題介紹 在Android開發(fā)中經(jīng)常遇到有的接口需要上傳當前時間,如果后臺要求直接傳一個long類型的時間戳還好,因為這個時間戳是跟時區(qū)無關的,如果后臺接口要求傳的是格式化的時間,若本地設備設置的時區(qū)與后臺要就的時區(qū)不一致,就會導致上傳的時間不準確。 不完善的

    2024年02月11日
    瀏覽(17)
  • Java程序設計入門教程--日期格式化類SimpleDateFormat

    Java程序設計入門教程--日期格式化類SimpleDateFormat

    ? ? ? ?在程序設計中,經(jīng)常用到特定的日期格式,此時就可以使用 java.text 包中的 SimpleDateFormat 類來對日期時間進行格式化,如可以將日期轉換為指定格式的文本,也可將文本轉換為日期。 目標格式 使用SimpleDateFormat類時,首先要定義一個要轉換的日期時間目標格式。目標格

    2024年02月07日
    瀏覽(19)
  • Java面試題:SimpleDateFormat是線程安全的嗎?使用時應該注意什么?

    在Java開發(fā)中,我們經(jīng)常需要獲取和處理時間,這需要使用到各種不同的方法。其中,使用SimpleDateFormat類來格式化時間是一種常見的方法。雖然這個類看上去功能比較簡單,但是如果使用不當,也可能會引發(fā)一些問題。 首先我們要明確一點, SimpleDateFormat不是線程安全的 。

    2024年04月26日
    瀏覽(41)
  • Java開發(fā)分析工具 JProfiler的詳細使用方法解析(附 JProfiler for Mac許可證秘鑰)

    Java開發(fā)分析工具 JProfiler的詳細使用方法解析(附 JProfiler for Mac許可證秘鑰)

    JProfiler? ?是一款功能強大的Java代碼分析工具,JProfiler的直觀UI可幫助您解決性能瓶頸,確定內存泄漏并了解線程問題且JProfiler? ?Mac破解版配置會話非常簡單,第三方集成使得入門變得輕而易舉,并且以自然的方式呈現(xiàn)數(shù)據(jù)分析。 ? 當無法建立分析會話時,首先要做的是查

    2024年01月23日
    瀏覽(87)
  • 【JAVA】帶你認識java方法|java中的方法&方法中的重載和遞歸

    【JAVA】帶你認識java方法|java中的方法&方法中的重載和遞歸

    作者主頁: paper jie的博客 本文作者:大家好,我是paper jie,感謝你閱讀本文,歡迎一建三連哦。 本文錄入于《JAVASE語法系列》專欄,本專欄是針對于大學生,編程小白精心打造的。筆者用重金(時間和精力)打造,將javaSE基礎知識一網(wǎng)打盡,希望可以幫到讀者們哦。 其他專欄

    2024年02月14日
    瀏覽(11)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包