(JAVA)時(shí)間相關(guān)輔助類

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

/**
?* 時(shí)間處理相關(guān)輔助類<br>
?*
?* patternString相應(yīng)的說明如下:<br>
?* y:年 ; M:月 ; d:日 ; <br>
?* H:時(shí) ; m:分 ; s:秒 ; <br>
?* S:毫秒 <br>
?* E:星期幾(這里多個(gè)E也只能顯示一次(如:星期三)) <br>
?*
?* 多個(gè)相應(yīng)的字母時(shí)诈闺,表示該值顯示N位 <br>
?*?
?*
?* @since 2012-04-25
?*
?*
?*/
public class DateRelatedUtils {
?/**
? * 實(shí)例化一個(gè) Calendar 對象
? */
?private static Calendar calendar = Calendar.getInstance();

?/**
? * 將Date轉(zhuǎn)換成相應(yīng)的patternString格式
? *
? * @param basicDate
? *??????????? 時(shí)間
? * @param patternString
? *??????????? 格式
? * @return String
? *
? */
?public static String getFormattedDateAsString(Date basicDate,
???String patternString) {

??SimpleDateFormat dateFormater = new SimpleDateFormat(patternString);

??// 返回格式化后的時(shí)間串
??return dateFormater.format(basicDate);

?}

?/**
? * 返回加addDays天后的串,addDays可以為負(fù)數(shù)<br>
? * patternString:只能是年月日相應(yīng)的不同格式
? *
? * @param basicDate
? *??????????? 時(shí)間
? * @param addDays
? *??????????? 加的天數(shù)
? * @param patternString
? * @return String
? */
?public static String addDaysAsString(Date basicDate, int addDays,
???String patternString) {

??// 得到加了天數(shù)后的時(shí)間
??basicDate = addDays(basicDate, addDays);

??// 返回相應(yīng)格式的時(shí)間串
??return getFormattedDateAsString(basicDate, patternString);
?}

?/**
? * 計(jì)算兩個(gè)日期相隔的天數(shù)<br>
? * 兩個(gè)值不分前后渴庆,求絕對值
? *
? * @param firstDate
? * @param secondDate
? * @return Integer
? */
?public static int getGapDays(Date firstDate, Date secondDate) {

??// 先拿到兩個(gè)日期 年月日 后邊的時(shí)分秒不管了
??String patternString = "yyyy-MM-dd";
??String firstDateString = getFormattedDateAsString(firstDate,
????patternString);
??String secondDateString = getFormattedDateAsString(secondDate,
????patternString);

??// 轉(zhuǎn)換成Date對象
??firstDate = getDateByDateString(firstDateString, patternString);
??secondDate = getDateByDateString(secondDateString, patternString);

??int nDays = (int) ((secondDate.getTime() - firstDate.getTime()) / (24 * 60 * 60 * 1000));

??return Math.abs(nDays);
?}

?/**
? * 計(jì)算兩個(gè)日期相隔的天數(shù)
? *
? * @param firstString
? *??????????? 格式y(tǒng)yyy-MM-dd
? * @param secondString
? *??????????? 格式y(tǒng)yyy-MM-dd
? * @return Integer
? */
?public static int getGapDays(String firstString, String secondString) {
??SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
??Date firstDate = null;
??Date secondDate = null;

??try {
???firstDate = df.parse(firstString);
???secondDate = df.parse(secondString);
??} catch (Exception e) {
???e.printStackTrace();
???// 日期型字符串格式錯(cuò)誤
???throw new IllegalArgumentException("日期型字符串格式錯(cuò)誤!");
??}

??return getGapDays(firstDate, secondDate);
?}

?/**
? * 將指定格式的日期串轉(zhuǎn)化為日期對象
? *
? * @param basicDate
? *??????????? 時(shí)間
? * @param patternString
? *??????????? 輸入的時(shí)間串的格式
? * @return Date
? * @throws Exception
? */
?public static Date getDateByDateString(String basicDate,
???String patternString) {

??SimpleDateFormat df = new SimpleDateFormat(patternString);

??Date date = null;

??try {
???date = df.parse(basicDate);
??} catch (Exception ex) {
???throw new IllegalArgumentException("日期串與格式串不匹配或者格式串有誤!");
??}

??return date;
?}

?/**
? * 得到basicDate這一年的第一天
? *
? * @return Date
? */
?public static Date getFirstDayOfYear(Date basicDate) {

??calendar.setTime(basicDate);
??calendar.set(Calendar.YEAR, calendar.get(Calendar.YEAR));
??calendar.set(Calendar.MONTH, Calendar.JANUARY);
??calendar.set(Calendar.DAY_OF_MONTH, 1);

??return calendar.getTime();

?}

?/**
? * 得到basicDate這一年的第一天
? *
? * @param basicDate
? *??????????? 時(shí)間
? * @param patternString
? *??????????? 返回串格式
? * @return String
? */
?public static String getFirstDayOfYearAsString(Date basicDate,
???String patternString) {

??// 得到這一年的第一天
??basicDate = getFirstDayOfYear(basicDate);

??// 返回相應(yīng)格式的時(shí)間串
??return getFormattedDateAsString(basicDate, patternString);

?}

?/**
? * 得到basicDate這一年的最后一天
? *
? * @param basicDate
? *??????????? 時(shí)間
? * @return Date
? */
?public static Date getLastDayOfYear(Date basicDate) {

??calendar.setTime(basicDate);
??calendar.set(Calendar.YEAR, calendar.get(Calendar.YEAR));
??calendar.set(Calendar.MONTH, Calendar.DECEMBER);
??calendar.set(Calendar.DAY_OF_MONTH, 31);

??return calendar.getTime();

?}

?/**
? * 得到basicDate這一年的最后一天
? *
? * @param basicDate
? *??????????? 時(shí)間
? * @param patternString
? *??????????? 返回串格式
? * @return String
? */
?public static String getLastDayOfYearAsString(Date basicDate,
???String patternString) {

??// 得到這一年的最后一天
??basicDate = getLastDayOfYear(basicDate);

??// 返回相應(yīng)的時(shí)間格式串
??return getFormattedDateAsString(basicDate, patternString);

?}

?/**
? * 得到basicDate 這一月的第一天
? *
? * @param basicDate
? *??????????? 時(shí)間
? * @return Date
? */
?public static Date getFirstDayOfMonth(Date basicDate) {

??calendar.setTime(basicDate);
??calendar.add(Calendar.MONTH, 0);
??calendar.set(Calendar.DAY_OF_MONTH, 1);

??return calendar.getTime();

?}

?/**
? * 得到basicDate 這一月的第一天
? *
? * @param basicDate
? *??????????? 時(shí)間
? * @param patternString
? *??????????? 格式
? * @return String
? */
?public static String getFirstDayOfMonthAsString(Date basicDate,
???String patternString) {
??// 得到這一月的第一天
??basicDate = getFirstDayOfMonth(basicDate);
??// 返回相應(yīng)的時(shí)間格式串
??return getFormattedDateAsString(basicDate, patternString);
?}

?/**
? * 得到basicDate 這一月的最后一天
? *
? * @param basicDate
? *??????????? 時(shí)間
? * @return Date
? */
?public static Date getLastDayOfMonth(Date basicDate) {

??calendar.setTime(basicDate);
??calendar.add(Calendar.MONTH, 1);
??calendar.set(Calendar.DAY_OF_MONTH, 1);
??calendar.add(Calendar.DAY_OF_MONTH, -1);

??return calendar.getTime();

?}

?/**
? * 得到basicDate 這一月的最后一天
? *
? * @param basicDate
? *??????????? 時(shí)間
? * @param patternString
? *??????????? 格式
? * @return String
? */
?public static String getLastDayOfMonthAsString(Date basicDate,
???String patternString) {
??// 得到這一月的最后一天
??basicDate = getLastDayOfMonth(basicDate);
??// 返回相應(yīng)的時(shí)間格式串
??return getFormattedDateAsString(basicDate, patternString);
?}

?/**
? * 得到basicDate的下個(gè)月初
? *
? * @param basicDate
? *??????????? 時(shí)間
? * @return Date
? */
?public static Date getFirstDayOfLastMonth(Date basicDate) {

??calendar.setTime(basicDate);
??calendar.add(Calendar.MONTH, 1);
??calendar.set(Calendar.DAY_OF_MONTH, 1);

??return calendar.getTime();

?}

?/**
? * 得到basicDate 下一月月初
? *
? * @param basicDate
? *??????????? 時(shí)間
? * @param patternString
? *??????????? 格式
? * @return String
? */
?public static String getFirstDayOfLastMonthAsString(Date basicDate,
???String patternString) {
??// 得到下月月初
??basicDate = getFirstDayOfLastMonth(basicDate);
??// 返回相應(yīng)的時(shí)間格式串
??return getFormattedDateAsString(basicDate, patternString);
?}

?/**
? * 按中國人的習(xí)慣 得到basicDate 這周的第一天(周一)
? *
? * @param basicDate
? *??????????? 時(shí)間
? * @return Date
? */
?public static Date getFirstDayOfWeekAsDateForChinese(Date basicDate) {

??calendar.setTime(basicDate);
??if(calendar.get(Calendar.DAY_OF_WEEK) != 1) {
???calendar.add(Calendar.DAY_OF_MONTH, 0);
???calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
??} else {
???calendar.setTime(addDays(basicDate, -6));
??}

??return calendar.getTime();

?}

?/**
? * 按中國人的習(xí)慣得到basicDate 這周的第一天(周一)
? *
? * @param basicDate
? *??????????? 時(shí)間
? * @param patternString
? *??????????? 格式
? * @return String
? */
?public static String getFirstDayOfWeekAsStringForChinese(Date basicDate,
???String patternString) {
??// 得到這周第一天
??basicDate = getFirstDayOfWeekAsDateForChinese(basicDate);
??// 返回相應(yīng)的時(shí)間格式串
??return getFormattedDateAsString(basicDate, patternString);
?}

?/**
? * 按中國人的習(xí)慣得到basicDate 這周的最后一天(周日)
? *
? * @param basicDate
? *??????????? 時(shí)間
? * @return Date
? */
?public static Date getLastDayOfWeekAsDateForChinese(Date basicDate) {

??calendar.setTime(basicDate);
??
??if(calendar.get(Calendar.DAY_OF_WEEK) != 1) {
???calendar.add(Calendar.DAY_OF_MONTH, 0);
???calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
???calendar.add(Calendar.DAY_OF_MONTH, 6);
??}

??return calendar.getTime();

?}

?/**
? * 按中國人的習(xí)慣得到basicDate 這周的最后一天(周日)
? *
? * @param basicDate
? *??????????? 時(shí)間
? * @param patternString
? *??????????? 格式
? * @return String
? */
?public static String getLastDayOfWeekAsStringForChinese(Date basicDate,
???String patternString) {
??// 得到這周最后一天
??basicDate = getLastDayOfWeekAsDateForChinese(basicDate);
??// 返回相應(yīng)的時(shí)間格式串
??return getFormattedDateAsString(basicDate, patternString);
?}

?/**
? * 按美國人習(xí)慣得到 basicDate 這周的第一天(周日為一周的第一天)
? *
? * @param basicDate
? * @return
? */
?public static Date getFirstDayOfWeekAsDate(Date basicDate) {
??if (basicDate == null) {
???return null;
??} else {
???calendar.setTime(basicDate);
???int weekindex = calendar.get(7);
???Date firstDay = addDays(basicDate, (weekindex - weekindex * 2) + 1);
???return firstDay;
??}
?}

?/**
? * 按美國人習(xí)慣得到 basicDate 這周的第一天(周日為一周的第一天)
? *
? * @param basicDate
? *??????????? 時(shí)間
? * @param patternString
? *??????????? 格式
? * @return
? */
?public static String getFirstDayOfWeekAsString(Date basicDate,
???String patternString) {
??if (basicDate == null) {
???return null;
??} else {
???Date firstDay = getFirstDayOfWeekAsDate(basicDate);
???return getFormattedDateAsString(firstDay, patternString);
??}
?}

?/**
? * 按美國人習(xí)慣得到 basicDate 這周的最后一天(周六為一周的最后一天)
? *
? * @param basicDate
? *??????????? 時(shí)間
? * @return
? */
?public static Date getLastDayOfWeekAsDate(Date basicDate) {
??if (basicDate == null) {
???return null;
??} else {
???calendar.setTime(basicDate);
???int weekindex = calendar.get(7);
???Date lastDay = addDays(basicDate, 7 - weekindex);
???return lastDay;
??}
?}

?/**
? * 按美國人習(xí)慣得到 basicDate 這周的最后一天(周六為一周的最后一天)
? *
? * @param basicDate
? *??????????? 時(shí)間
? * @param patternString
? *??????????? 格式
? * @return
? */
?public static String getLastDayOfWeekAsString(Date basicDate,
???String patternString) {
??if (basicDate == null) {
???return null;
??} else {
???Date lastDay = getLastDayOfWeekAsDate(basicDate);
???return getFormattedDateAsString(lastDay, patternString);
??}
?}

?/**
? * 判斷是否潤年<br>
? * <br>
? * &nbsp;&nbsp;true 是閏年<br>
? * &nbsp;&nbsp;false 不是閏年
? *
? * @param basicDate
? *??????????? 時(shí)間
? * @return boolean
? */
?public static boolean isLeapYear(Date basicDate) {
??/*
?? * 1.被400整除是閏年 2.不能被400整除的且能被4整除且不能被100整除的是閏年 3.其他的都不是閏年
?? */
??// 默認(rèn)不是閏年
??boolean flag = false;

??calendar.setTime(basicDate);

??int year = calendar.get(Calendar.YEAR);

??/* 判斷各種是閏年的情況修改flag的值 */
??// 能被400整除
??if ((year % 400) == 0) {
???flag = true;
???// 能被4整除 && 不能被100整除則是閏年
??} else if ((year % 4) == 0 && (year % 100) != 0) {
???flag = true;
??}

??// 其他情況都不是閏年

??return flag;
?}

?/**
? * 返回basicDate 是 星期幾
? *
? * @param basicDate
? *??????????? 時(shí)間
? * @return String
? */
?public static String getDayOfWeekByDate(Date basicDate) {
??return getFormattedDateAsString(basicDate, "E");
?}

?/**
? * 得到年份
? *
? * @param basicDate
? *??????????? 時(shí)間
? * @return
? */
?public static int getYear(Date basicDate) {
??calendar.setTime(basicDate);
??return calendar.get(Calendar.YEAR);
?}

?/**
? * 得到月份
? *
? * @param basicDate
? *??????????? 時(shí)間
? * @return
? */
?public static int getMonth(Date basicDate) {
??calendar.setTime(basicDate);
??return calendar.get(Calendar.MONTH) + 1;
?}

?/**
? * 得到日
? *
? * @param basicDate
? *??????????? 時(shí)間
? * @return
? */
?public static int getDay(Date basicDate) {
??calendar.setTime(basicDate);
??return calendar.get(Calendar.DATE);
?}

?/**
? * 得到時(shí)
? *
? * @param basicDate
? *??????????? 時(shí)間
? * @return
? */
?public static int getHour(Date basicDate) {
??calendar.setTime(basicDate);
??return calendar.get(Calendar.HOUR_OF_DAY);
?}

?/**
? * 得到分
? *
? * @param basicDate
? *??????????? 時(shí)間
? * @return
? */
?public static int getMinute(Date basicDate) {
??calendar.setTime(basicDate);
??return calendar.get(Calendar.MINUTE);
?}

?/**
? * 得到秒
? *
? * @param basicDate
? *??????????? 時(shí)間
? * @return
? */
?public static int getSecond(Date basicDate) {
??calendar.setTime(basicDate);
??return calendar.get(Calendar.SECOND);
?}

?/**
? * 得到年齡
? *
? * @param birthDate
? *??????????? 出生日期
? * @return
? */
?public static int getAge(Date birthDate) {

??if (getYear(new Date()) - getYear(birthDate) < 0) {
???throw new IllegalArgumentException("生日小于當(dāng)前日期");
??}

??return getYear(new Date()) - getYear(birthDate);
?}

?/**
? * 根據(jù)Date得到Calendar對象
? *
? * @param basicDate
? *??????????? 時(shí)間
? * @return Calendar
? */
?public static Calendar getCalendarByDate(Date basicDate) {
??calendar.setTime(basicDate);
??return calendar;
?}

?/**
? * 根據(jù)Calendar得到Date
? *
? * @param thiscalendar
? *??????????? Calendar對象
? * @return
? */
?public static Date getDateByCalendar(Calendar thiscalendar) {
??return thiscalendar.getTime();
?}

?/**
? * 輔助用于在日期上加時(shí)間
? *
? * @param date
? * @param calendarField
? * @param amount
? * @return
? */
?private static Date add(Date date, int calendarField, int amount) {
??if (date == null) {
???throw new IllegalArgumentException("The date must not be null!");
??} else {
???calendar.setTime(date);
???calendar.add(calendarField, amount);
???return calendar.getTime();
??}
?}

?/**
? * 在時(shí)間上加年
? *
? * @param basicDate
? *??????????? 時(shí)間
? * @param amount
? *??????????? 增量
? * @return Date
? */
?public static Date addYears(Date basicDate, int amount) {
??return add(basicDate, Calendar.YEAR, amount);
?}

?/**
? * 在時(shí)間上加月
? *
? * @param basicDate
? *??????????? 時(shí)間
? * @param amount
? *??????????? 增量
? * @return Date
? */
?public static Date addMonths(Date basicDate, int amount) {
??return add(basicDate, Calendar.MONTH, amount);
?}

?/**
? * 在時(shí)間上加周
? *
? * @param basicDate
? *??????????? 時(shí)間
? * @param amount
? *??????????? 增量
? * @return
? */
?public static Date addWeeks(Date basicDate, int amount) {
??return add(basicDate, Calendar.WEEK_OF_YEAR, amount);
?}

?/**
? * 在時(shí)間上加天數(shù)
? *
? * @param basicDate
? *??????????? 時(shí)間
? * @param amount
? *??????????? 增量
? * @return Date
? */
?public static Date addDays(Date basicDate, int amount) {

??return add(basicDate, Calendar.DATE, amount);
?}

?/**
? * 在時(shí)間上加小時(shí)
? *
? * @param basicDate
? *??????????? 時(shí)間
? * @param amount
? *??????????? 增量
? * @return Date
? */
?public static Date addHours(Date basicDate, int amount) {
??return add(basicDate, Calendar.HOUR_OF_DAY, amount);
?}

?/**
? * 在時(shí)間上加分
? *
? * @param basicDate
? *??????????? 時(shí)間
? * @param amount
? *??????????? 增量
? * @return Date
? */
?public static Date addMinutes(Date basicDate, int amount) {
??return add(basicDate, Calendar.MINUTE, amount);
?}

?/**
? * 在時(shí)間上加秒
? *
? * @param date
? *??????????? 時(shí)間
? * @param amount
? *??????????? 增量
? * @return Date
? */
?public static Date addSeconds(Date date, int amount) {
??return add(date, Calendar.SECOND, amount);
?}

?/**
? * 在時(shí)間上加毫秒
? *
? * @param date
? *??????????? 時(shí)間
? * @param amount
? *??????????? 增量
? * @return Date
? */
?public static Date addMilliseconds(Date date, int amount) {
??return add(date, Calendar.MILLISECOND, amount);
?}

?/**
? * 將秒轉(zhuǎn)換成 HH:mm:ss 格式
? *
? * @param seconds
? * @return
? */
?public static String getHHmmss(long seconds) {

??long h = seconds / 3600L;
??long j = seconds % 3600L;
??long m = j / 60L;
??long s = j % 60L;

??String hh = String.valueOf(h);
??String mm = String.valueOf(m);
??String ss = String.valueOf(s);

??if (hh.length() < 2) {
???hh = (new StringBuilder("0")).append(hh).toString();
??}
??if (mm.length() < 2) {
???mm = (new StringBuilder("0")).append(mm).toString();
??}
??if (ss.length() < 2) {
???ss = (new StringBuilder("0")).append(ss).toString();
??}
??return (new StringBuilder(String.valueOf(hh))).append(":").append(mm)
????.append(":").append(ss).toString();

?}

?/**
? * 根據(jù)時(shí)間得到相應(yīng)的long值
? *
? * @param basicDate
? *??????????? 時(shí)間
? * @return
? */
?public static long getTimeMillisByDate(Date basicDate) {
??return basicDate.getTime();
?}

?/**
? * 生成(>=min&&<=max)隨機(jī)數(shù)
? *
? * @param min
? * @param max
? * @return
? */
?public static long getRondom(long min, long max) {
??return (long) (Math.random() * (max - min) + min);
?}

?/**
? * 得到當(dāng)前時(shí)間串
? *
? * @return
? */
?public static String getCurrentDateString() {
??return getFormattedDateAsString(new Date(), "yyyy-MM-dd HH:mm:ss");
?}

?/**
? * 判斷是否周末(周六雅镊、周天)
? *
? * @param basicDate
? * @return
? */
?public static boolean isWeekEnd(Date basicDate) {
??boolean flag = false;

??calendar = getCalendarByDate(basicDate);
??int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
??if (dayOfWeek == Calendar.SATURDAY || dayOfWeek == Calendar.SUNDAY) {
???flag = true;
??}

??return flag;
?}

?/**
? * 在源日期(basicDate)基礎(chǔ)上加上amount個(gè)工作日(除去周六和周日)
? *
? * @param basicDate
? * @param amount
? * @return
? */
?public static Date addWorkDays(Date basicDate, int amount) {

??calendar = getCalendarByDate(basicDate);
??// 是否周末(周六和周日) 標(biāo)識(shí)
??boolean weekEndFlag = false;

??for (int i = 0; i < amount; i++) {

???// 把源日期加一天
???calendar.add(Calendar.DAY_OF_MONTH, 1);

???// 判斷是否周末
???weekEndFlag = isWeekEnd(calendar.getTime());

???// 是周末的話襟雷,時(shí)間照加,但是i的值不算數(shù)仁烹,就倒退 1
???if (weekEndFlag) {
????i--;
???}
??}
??return calendar.getTime();
?}
?
?/*public static void main(String args[]) {
??System.out.println();
?}*/
?
}


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末耸弄,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子卓缰,更是在濱河造成了極大的恐慌计呈,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件征唬,死亡現(xiàn)場離奇詭異捌显,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)总寒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進(jìn)店門扶歪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人摄闸,你說我怎么就攤上這事击罪≌艹埃” “怎么了?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵媳禁,是天一觀的道長眠副。 經(jīng)常有香客問我,道長竣稽,這世上最難降的妖魔是什么囱怕? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮毫别,結(jié)果婚禮上娃弓,老公的妹妹穿的比我還像新娘。我一直安慰自己岛宦,他們只是感情好台丛,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著砾肺,像睡著了一般挽霉。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上变汪,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天侠坎,我揣著相機(jī)與錄音,去河邊找鬼裙盾。 笑死实胸,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的番官。 我是一名探鬼主播庐完,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼徘熔!你這毒婦竟也來了假褪?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤近顷,失蹤者是張志新(化名)和其女友劉穎生音,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體窒升,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡缀遍,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了饱须。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片域醇。...
    茶點(diǎn)故事閱讀 40,040評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出譬挚,到底是詐尸還是另有隱情锅铅,我是刑警寧澤,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布减宣,位于F島的核電站盐须,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏漆腌。R本人自食惡果不足惜贼邓,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望闷尿。 院中可真熱鬧塑径,春花似錦、人聲如沸填具。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽劳景。三九已至誉简,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間枢泰,已是汗流浹背描融。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工铝噩, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留衡蚂,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓骏庸,卻偏偏與公主長得像毛甲,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子具被,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 最近項(xiàng)目中用到自定義日歷組件玻募,找來找去,最后發(fā)現(xiàn)GitHub的material-calendarview這個(gè)項(xiàng)目最...
    colin2017閱讀 1,526評論 0 0
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理一姿,服務(wù)發(fā)現(xiàn)七咧,斷路器,智...
    卡卡羅2017閱讀 134,659評論 18 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法叮叹,類相關(guān)的語法艾栋,內(nèi)部類的語法,繼承相關(guān)的語法蛉顽,異常的語法蝗砾,線程的語...
    子非魚_t_閱讀 31,639評論 18 399
  • 一、 1、請用Java寫一個(gè)冒泡排序方法 【參考答案】 public static void Bubble(int...
    獨(dú)云閱讀 1,375評論 0 6
  • 親子日記悼粮,星期一闲勺,陰 晚上吃完飯,女兒把自己的褲襪洗了扣猫,順手把弟弟的上衣也給洗了菜循,告訴我把衣服洗得很干凈很自信地對...
    幸福寶貝米閱讀 176評論 0 0