在我的申请表中,我想在TextView
中显示一些文字(日期)
我从服务器获取此文本,我想在TextView中显示此文本
我从服务器获取此文本:
2017年12月16日
但我想表明这样:
2017
如何删除 16 Dec
?
答案 0 :(得分:4)
试试这个
Tuple2
答案 1 :(得分:1)
尝试使用split()
java string中有split()方法的两个签名。
public String split(String regex)
并且,
public String split(String regex, int limit)
在Java中使用split字符串是使用
.split(" ")
根据提供的模式拆分string
,返回一个String数组。
示例代码
String date="16 Dec 2017";
String [] dateParts = date.split(" ");
String day = dateParts[0];
String month = dateParts[1];
String year = dateParts[2];
答案 2 :(得分:0)
你可以用“”的空格分隔字符串,即空格,尝试用“”分割字符串,如下所示: -
String date = "16 Dec 2017";
String[] date = date.split(" ");
//for only 2017 you can use date[2]
答案 3 :(得分:0)
请注意,有几种方法更优雅,更正确,通常你使用Date对象,只是改变它的样子......
但是按照你的意愿,我的回答是:
我不会拆分,因为创建一个只能获得它的一个元素的数组是浪费......
你可以使用子串方法
String xdate = "16 Dec 2017";
System.out.println(xdate.substring(xdate.length() - 4, xdate.length()));
答案 4 :(得分:0)
在java 8中你可以这样做:
Date date = new Date(); //Create a Date object with date provided from TextBox
LocalDate localDate = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
int year = localDate.getYear();
int month = localDate.getMonthValue();
int day = localDate.getDayOfMonth();
因为你只希望年份int year = localDate.getYear();
能给你一年。
答案 5 :(得分:0)
如果您想要日期的子字符串,其中只有年份,即最后4个数字,然后尝试下面的代码
String date="16 Dec 2017";
int a = date.length();
String d = date.substring(a-4,a);
答案 6 :(得分:0)
你也可以试试这个,如果你有约会和时间或更多日期数据
String requested_date = "16 Dec 2017";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd MMM yyyy");
Date dateObj = simpleDateFormat.parse(requested_date,new ParsePosition(0));
dateObj.getYear();