android字元串時間格式
⑴ Android時間字元串2014-09-17-19:00來判斷是否今天
給你一個我項目中的,應該能滿足需求。別忘了採納哦。
java">/**
*格式化時間(輸出類似於剛剛,4分鍾前,一小時前,昨天這樣的時間)
*
*@paramtime需要格式化的時間如"2014-07-1419:01:45"
*@parampattern輸入參數time的時間格式如:"yyyy-MM-ddHH:mm:ss"
*<p/>如果為空則默認使用"yyyy-MM-ddHH:mm:ss"格式
*@returntime為null,或者時間格式不匹配,輸出空字元""
*/
(Stringtime,Stringpattern){
Stringdisplay="";
inttMin=60*1000;
inttHour=60*tMin;
inttDay=24*tHour;
if(time!=null){
try{
DatetDate=newSimpleDateFormat(pattern).parse(time);
Datetoday=newDate();
SimpleDateFormatthisYearDf=newSimpleDateFormat("yyyy");
SimpleDateFormattodayDf=newSimpleDateFormat("yyyy-MM-dd");
DatethisYear=newDate(thisYearDf.parse(thisYearDf.format(today)).getTime());
Dateyesterday=newDate(todayDf.parse(todayDf.format(today)).getTime());
DatebeforeYes=newDate(yesterday.getTime()-tDay);
if(tDate!=null){
SimpleDateFormathalfDf=newSimpleDateFormat("MM月dd日");
longdTime=today.getTime()-tDate.getTime();
if(tDate.before(thisYear)){
display=newSimpleDateFormat("yyyy年MM月dd日").format(tDate);
}else{
if(dTime<tMin){
display="剛剛";
}elseif(dTime<tHour){
display=(int)Math.ceil(dTime/tMin)+"分鍾前";
}elseif(dTime<tDay&&tDate.after(yesterday)){
display=(int)Math.ceil(dTime/tHour)+"小時前";
}elseif(tDate.after(beforeYes)&&tDate.before(yesterday)){
display="昨天"+newSimpleDateFormat("HH:mm").format(tDate);
}else{
display=halfDf.format(tDate);
}
}
}
}catch(Exceptione){
e.printStackTrace();
}
}
returndisplay;
}
⑵ android 時間格式化的問題
publicclassDateTest{
publicstaticvoidmain(String[]args){
Stringstr="2015-01-01T00:00:00+08:00";
//截取「T」前面的字元串
StringtestStr=str.split("T")[0];
StringformatStr="yyyyMMdd";
StringdateFromatStr="yyyy-MM-dd";
Stringdate=DateTest.StringToDate(testStr,dateFromatStr,formatStr);
}
/**
*字元串轉換到時間格式
*@paramdateStr需要轉換的字元串
*@returndateFormatStr需要轉換的字元串的時間格式
*@paramformatStr需要格式的目標字元串舉例yyyyMMdd
*@returnString返回轉換後的時間字元串
*@throwsParseException轉換異常
*/
(StringdateStr,StringdateFormatStr,StringformatStr){
DateFormatsdf=newSimpleDateFormat(dateFormatStr);
Datedate=null;
try{
date=sdf.parse(dateStr);
}catch(ParseExceptione){
e.printStackTrace();
}
SimpleDateFormats=newSimpleDateFormat(formatStr);
returns.format(date);
}
}
如果滿意的話,採納我的答案吧,謝謝。
⑶ android如何實現兩個字元串日期比較
你輸入的兩個欄位是Date類型的還是String類型的?
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Method_1 {
public static void DateCompare(String s1,String s2) throws Exception {
//設定時間的模板
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//得到指定模範的時間
Date d1 = sdf.parse(s1);
Date d2 = sdf.parse(s2);
//比較
if(Math.abs(((d1.getTime() - d2.getTime())/(24*3600*1000))) >=3) {
System.out.println("大於三天");
}else{
System.out.println("小於三天");
}
}
public static void main(String args[]) throws Exception {
new Method_1().DateCompare("2011-11-28 11:15:11","2011-12-02 11:15:11");
}
}
⑷ android 怎麼把日期字元串解析出 月份和日期
//需要解析的日期字元串
StringdateStr="2015-09-2712:15:31";
//解析格式,yyyy表示年,MM(大寫M)表示月,dd表示天,HH表示小時24小時制,小寫的話是12小時制
//mm,小寫,表示分鍾,ss表示秒
SimpleDateFormatformat=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");
try{
//用parse方法,可能會異常,所以要try-catch
Datedate=format.parse(dateStr);
//獲取日期實例
Calendarcalendar=Calendar.getInstance();
//將日歷設置為指定的時間
calendar.setTime(date);
//獲取年
intyear=calendar.get(Calendar.YEAR);
//這里要注意,月份是從0開始。
intmonth=calendar.get(Calendar.MONTH);
//獲取天
intday=calendar.get(Calendar.DAY_OF_MONTH);
}catch(ParseExceptione){
e.printStackTrace();
}
⑸ 如何將android時間戳轉換成時間
時間戳就是如1377216000000 這種格式我們在mysql資料庫中會經常用到把時間轉換成時間戳或把時間戳轉換成日期格式了,下面我來介紹安卓中時間戳操作轉換方法。
一、原理
時間戳的原理是把時間格式轉為十進制格式,這樣就方便時間的計算。好~ 直接進入主題。(下面封裝了一個類,有需要的同學可以參考或是直接Copy 就可以用了。)
如: 2013年08月23日 轉化後是 1377216000000
二、步驟
1、創建 DateUtilsl類。
代碼如下 復制代碼
importjava.text.ParseException;
importjava.text.SimpleDateFormat;
importjava.util.Date;
/*
* @author Msquirrel
*/
public class DateUtils {
privateSimpleDateFormat sf = null;
/*獲取系統時間 格式為:"yyyy/MM/dd "*/
public static String getCurrentDate() {
Date d = newDate();
sf = newSimpleDateFormat("yyyy年MM月dd日");
returnsf.format(d);
}
/*時間戳轉換成字元竄*/
public static String getDateToString(long time) {
Date d = newDate(time);
sf = newSimpleDateFormat("yyyy年MM月dd日");
returnsf.format(d);
}
/*將字元串轉為時間戳*/
public static long getStringToDate(String time) {
sdf = newSimpleDateFormat("yyyy年MM月dd日");
Date date = newDate();
try{
date = sdf.parse(time);
} catch(ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
returndate.getTime();
}
2、在對應使用的地方調用就可以了。
代碼如下 復制代碼
DateUtils.getCurrentDate(); //獲取系統當前時間
DateUtils.getDateToString(時間戳); //時間戳轉為時間格式
DateUtils.getStringToDate("時間格式");//時間格式轉為時間戳
⑹ android.text.format.dateformat怎麼用
大致用法如下:
long timeMillis = System.currentTimeMillis();
Date time = new Date(timeMillis);
SimpleDateFormat df = new SimpleDateFormat("yyyy'/'MM'/'dd HH':'mm':'ss");
String dateString = df.format(mStartTime));
最後一行能獲取到指定格式的日期/時間字元串。比如: 2016/01/01 15:15:15
這里SimpleDateFormat是繼承DateFormat的一個子類,大多數時候應該用這個就夠了
⑺ android字元串轉成時間格式問題,速進!復制黨別來
SimpleDateFormat上一句是個return。所以正如報錯的信息,這是一句永遠無法執行到的語句。
⑻ android 兩個字元串日期比較
1. 這兩個字元串都是源自Date類型或者long類型,你如果能抓到原型用long值比較就方便多啦: (nDate1 - nDate2 > 3*24*60*60000) 即可。
2.如果不能得到原型,只能傳入這個String類型,建議還是逐個還原為int值再放到long類型里,再用上面的方法1進行比較,這樣不用考慮太多String比較的復雜案例。