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比较的复杂案例。