java獲取昨天日期字符串的方法
本文實(shí)例講述了java獲取昨天日期字符串的方法。分享給大家供大家參考,具體如下:
import java.text.SimpleDateFormat; import java.util.Date; public class Test { /** * 獲取昨天的日期字符串 * * @param nowDate * 當(dāng)前日期的字符串 * @return */ public static String getLastDayInfo(String nowDate) { String yesterday = ""; int year = 0; int month = 0; int day = 0; try { year = Integer.parseInt(nowDate.substring(0, nowDate.indexOf("-"))); month = Integer.parseInt(nowDate.substring( nowDate.indexOf("-") + 1, nowDate.lastIndexOf("-"))); day = Integer.parseInt(nowDate .substring(nowDate.lastIndexOf("-") + 1)); // System.out.println("nowYear = " + year); // System.out.println("nowMonth = " + month); // System.out.println("dayDay = " + day); day = day - 1; if (day == 0) { month = month - 1; if (month == 0) { // January month = 12; day = 31; year = year - 1; } else { // not Jan. switch (month) { // 1|3|5|7|8|10|12) day=31;; case 1: day = 31; break; case 3: day = 31; break; case 5: day = 31; break; case 7: day = 31; break; case 8: day = 31; break; case 10: day = 31; break; case 12: day = 31; break; // 4|6|9|11) day=30;; case 4: day = 30; break; case 6: day = 30; break; case 9: day = 30; break; case 11: day = 30; break; case 2: if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) { // leap year day = 29; } else day = 28; } } } String monthStr = ""; String dayStr = ""; if (month < 10) { monthStr = "0" + String.valueOf(month); } else { monthStr = String.valueOf(month); } if (day < 10) { dayStr = "0" + String.valueOf(day); } else { dayStr = String.valueOf(day); } yesterday = String.valueOf(year) + "-" + monthStr + "-" + dayStr; } catch (Exception e) { e.printStackTrace(); } return yesterday; } public static void main(String[] args) throws Exception { System.out.println(getLastDayInfo("2008-03-01")); System.out.println(getLastDayInfo("2008-01-01")); SimpleDateFormat sdf = new SimpleDateFormat("MMMM-dd-yyyy"); Date date; String datetime = "02-14-1984"; try { date = sdf.parse(datetime); System.out.println(sdf.format(date)); } catch (Exception e) { System.out.println(e.getMessage()); } Date d = java.sql.Date.valueOf("2008-07-06"); System.out.println(d.toString()); } }
更多關(guān)于java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java文件與目錄操作技巧匯總》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》和《Java緩存操作技巧匯總》
希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。
相關(guān)文章
Spring注解@Resource和@Autowired區(qū)別對(duì)比詳解
這篇文章主要介紹了Spring注解@Resource和@Autowired區(qū)別對(duì)比詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09Spring Data JPA中的動(dòng)態(tài)查詢實(shí)例
本篇文章主要介紹了詳解Spring Data JPA中的動(dòng)態(tài)查詢。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-04-04Java中的WeakHashMap、LinkedHashMap、TreeMap與Set詳解
這篇文章主要介紹了Java中的WeakHashMap、LinkedHashMap、TreeMap與Set詳解,在JVM中,一個(gè)對(duì)象如果不再被使用就會(huì)被當(dāng)做垃圾給回收掉,判斷一個(gè)對(duì)象是否是垃圾,我們的WeakHashMap就是基于弱引用,需要的朋友可以參考下2023-09-09freemarker?jsp?java內(nèi)存方式實(shí)現(xiàn)分頁(yè)示例
這篇文章主要介紹了freemarker?jsp?java內(nèi)存方式實(shí)現(xiàn)分頁(yè)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06Java如何實(shí)現(xiàn)海量數(shù)據(jù)判重
在海量數(shù)據(jù)如何確定一個(gè)值是否存在?這是一道非常經(jīng)典的面試場(chǎng)景題,那怎么回答這個(gè)問(wèn)題呢?下面小編就來(lái)和大家詳細(xì)的聊一聊,感興趣的可以一起學(xué)習(xí)一下2023-09-09Spring實(shí)戰(zhàn)之使用@Resource配置依賴操作示例
這篇文章主要介紹了Spring實(shí)戰(zhàn)之使用@Resource配置依賴操作,結(jié)合實(shí)例形式分析了Spring使用@Resource配置依賴具體步驟、實(shí)現(xiàn)及測(cè)試案例,需要的朋友可以參考下2019-12-12Spring?Boot統(tǒng)一接口返回及全局異常處理
這篇文章主要介紹了Spring?Boot統(tǒng)一接口返回及全局異常處理,文章圍繞主題展開(kāi)相關(guān)資料,具有一定的參考價(jià)值需要的小伙伴可以參考一下2022-04-04分析java中全面的單例模式多種實(shí)現(xiàn)方式
單例模式是一種常用的軟件設(shè)計(jì)模式,單例對(duì)象的類只能允許一個(gè)實(shí)例存在。許多時(shí)候整個(gè)系統(tǒng)只需要擁有一個(gè)的全局對(duì)象,有利于協(xié)調(diào)系統(tǒng)整體的行為。比如在某個(gè)服務(wù)器程序中,該服務(wù)器的配置信息存放在一個(gè)文件中。本文將介紹它的思想和多種實(shí)現(xiàn)方式2021-06-06