android字符串时间格式化
㈠ android 时间格式化的问题
java">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时间字符串2014-09-17-19:00来判断是否今天
给你一个我项目中的,应该能满足需求。别忘了采纳哦。
/**
*格式化时间(输出类似于刚刚,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中在编辑框怎样获取日期
这取决于对日期的格式定义
假如日期格式为2015-12-09即为2015年12月9日
可以使用SimpleDateFormat把字符串格式化转为日期
示例如下
{
privateEditTextetDate;
privateButtonbtn;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
etDate=(EditText)findViewById(R.id.text);
btn=(Button)findViewById(R.id.button);
btn.setOnClickListener(newOnClickListener(){
@Override
publicvoidonClick(Viewv){
Stringtxt=etDate.getText().toString();
SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");
Datedate=sdf.parse(txt);
}
});
}
}
SimpleDateFormat的语法格式
G 年代标志符
y 年
M 月
d 日
h 时 在上午或下午 (1~12)
H 时 在一天中 (0~23)
m 分
s 秒
S 毫秒
E 星期
D 一年中的第几天
F 一月中第几个星期几
w 一年中第几个星期
W 一月中第几个星期
a 上午 / 下午 标记符
k 时 在一天中 (1~24)
K 时 在上午或下午 (0~11)
z 时区
㈣ android format怎么用
下面是android学习手册的文档介绍,如果想看埋坦例子,请去下载android学习手册。android学习手册包含9个章节,108个例子,源码文档随便看,例子都是可交互,可运行, 源码采用android studio目录结构,高亮显示代码,文档都采用文档结构图显示,可以快速定位。360手机助手中下载,图标上有贝壳
常规类型的格式化
String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。熟悉C语言的同学应该记得C语言的sprintf()方法,两者有类似之处。format()方法有两种重载形式。
format(String format, Object... args) 新字符串使用本地语言环境,制定字符串格式和参数生成格式化的新字符串。
format(Locale locale, String format, Object... args) 使用指定的语言环境,制定字符串格式和参数生成格式化的字符串。
public static void main(String[] args) {
String str=null;
str=String.format("Hi,%s", "王力");
System.out.println(str);
str=String.format("Hi,%s:%s.%s", "王南","王力","王张");
System.out.println(str);
System.out.printf("字母a的大写是:%c %n", '弯州桐A');
System.out.printf("3>7的结果是:%b %n", 3>7);
System.out.printf("100的一半是:%d %n", 100/2);
System.out.printf("100的16进制数是:%x %n", 100);
System.out.printf("100的8进制数是:%o %n", 100);
System.out.printf("50元的书打8.5折扣是:%f 元%n", 50*0.85);
System.out.printf("上面价格的16进制数是:%a %n", 50*0.85);
System.out.printf("上面价格的指数表示:迹核%e %n", 50*0.85);
System.out.printf("上面价格的指数和浮点数结果的长度较短的是:%g %n", 50*0.85);
System.out.printf("上面的折扣是%d%% %n", 85);
System.out.printf("字母A的散列码是:%h %n", 'A');
}
public static void main(String[] args) {
String str=null;
str=String.format("Hi,%s", "王力");
System.out.println(str);
str=String.format("Hi,%s:%s.%s", "王南","王力","王张");
System.out.println(str);
System.out.printf("字母a的大写是:%c %n", 'A');
System.out.printf("3>7的结果是:%b %n", 3>7);
System.out.printf("100的一半是:%d %n", 100/2);
System.out.printf("100的16进制数是:%x %n", 100);
System.out.printf("100的8进制数是:%o %n", 100);
System.out.printf("50元的书打8.5折扣是:%f 元%n", 50*0.85);
System.out.printf("上面价格的16进制数是:%a %n", 50*0.85);
System.out.printf("上面价格的指数表示:%e %n", 50*0.85);
System.out.printf("上面价格的指数和浮点数结果的长度较短的是:%g %n", 50*0.85);
System.out.printf("上面的折扣是%d%% %n", 85);
System.out.printf("字母A的散列码是:%h %n", 'A');
}
Hi,王力
Hi,王南:王力.王张
字母a的大写是:A
3>7的结果是:false
100的一半是:50
100的16进制数是:64
100的8进制数是:144
50元的书打8.5折扣是:42.500000 元
上面价格的16进制数是:0x1.54p5
上面价格的指数表示:4.250000e+01
上面价格的指数和浮点数结果的长度较短的是:42.5000
上面的折扣是85%
字母A的散列码是:41
Hi,王力
Hi,王南:王力.王张
字母a的大写是:A
3>7的结果是:false
100的一半是:50
100的16进制数是:64
100的8进制数是:144
50元的书打8.5折扣是:42.500000 元
上面价格的16进制数是:0x1.54p5
上面价格的指数表示:4.250000e+01
上面价格的指数和浮点数结果的长度较短的是:42.5000
上面的折扣是85%
字母A的散列码是:41
搭配转换符的标志,如图所示。
public static void main(String[] args) {
String str=null;
//$使用
str=String.format("格式参数$的使用:%1$d,%2$s", 99,"abc");
System.out.println(str);
//+使用
System.out.printf("显示正负数的符号:%+d与%d%n", 99,-99);
//补O使用
System.out.printf("最牛的编号是:%03d%n", 7);
//空格使用
System.out.printf("Tab键的效果是:% 8d%n", 7);
//.使用
System.out.printf("整数分组的效果是:%,d%n", 9989997);
//空格和小数点后面个数
System.out.printf("一本书的价格是:% 50.5f元%n", 49.8);
}
public static void main(String[] args) {
String str=null;
//$使用
str=String.format("格式参数$的使用:%1$d,%2$s", 99,"abc");
System.out.println(str);
//+使用
System.out.printf("显示正负数的符号:%+d与%d%n", 99,-99);
//补O使用
System.out.printf("最牛的编号是:%03d%n", 7);
//空格使用
System.out.printf("Tab键的效果是:% 8d%n", 7);
//.使用
System.out.printf("整数分组的效果是:%,d%n", 9989997);
//空格和小数点后面个数
System.out.printf("一本书的价格是:% 50.5f元%n", 49.8);
}
日期和事件字符串格式化
在程序界面中经常需要显示时间和日期,但是其显示的 格式经常不尽人意,需要编写大量的代码经过各种算法才得到理想的日期与时间格式。字符串格式中还有%tx转换符没有详细介绍,它是专门用来格式化日期和时 间的。%tx转换符中的x代表另外的处理日期和时间格式的转换符,它们的组合能够将日期和时间格式化成多种格式。
㈤ android 判断字符串是否是日期格式
// 需要解析的日期字符串String dateStr = "2015-09-27 12:15:31";// 解析格式,yyyy表示年,MM(大写M)表示月,dd表示天,HH表示小时24小时制,小写的话是12小时制// mm,小写,表示分钟,ss表示秒SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");try { // 用parse方法,可能会异常,所以要try-catch Date date = format.parse(dateStr); // 获取日期实例 Calendar calendar = Calendar.getInstance(); // 将日历设置为指定的时间 calendar.setTime(date); // 获取年 int year = calendar.get(Calendar.YEAR); // 这里要注意,月份是从0开始。 int month = calendar.get(Calendar.MONTH); // 获取天 int day = calendar.get(Calendar.DAY_OF_MONTH);} catch (ParseException e) { 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实际开发中解析出来的日期格式为2013-12-12 00:00:00 我只想显示年月日怎么做
可以使用java中的日期格式化工具java.text.SimpleDateFormat来格式化,以下为示例代码:
创建java.text.SimpleDateFormat实例
java.text.SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault());
参数说明,"yyyy-MM-dd"表示日期的格式,也可以是这样的 yyyy-MM-dd HH:mm:ss注意大小写
2.将Date对象转成字符串
Date date = new Date();
String str = sdf.format(date);
System.out.println(str);
3.将字符串转成Date
String str = "2013-12-12";
Date date = sdf.parse(str);
System.out.prinltn(date);
注意,SimpleDateFormat解析工具,指定的format以后,只能解析指定格式的日期,例如指定了yyyy-MM-dd则不可以再去解析 yyyy-MM-dd HH:mm:ss格式。
㈧ 如何在Android中与占位符一起使用格式化字符串
可以通过字符串的format方法进行实现。举例:
string domain = ;//定义第一个值
int iVisit = 0;//定义第二个值
System.out.println(String.Format("该域名{0}被访问了 {1} 次.", domain, iVisit));//在控制台输出
备注:占位符的方式通常能够通过直接进行字符串的多次“+”的形式进行实现,如果不熟练format的形式,建议直接用连接符(“+”)的形式实现即可。
㈨ 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的一个子类,大多数时候应该用这个就够了