user8510560
user8510560

Reputation:

How to limited String in Android

In my application I want to show some text (date) into TextView.
I get this Text from server and I want to show this Text in TextView.
I get this Text from server :

16 Dec 2017

But I want to show such as this :

2017

How can I remove 16 Dec ?

Upvotes: 0

Views: 114

Answers (7)

Alpesh Sorathiya
Alpesh Sorathiya

Reputation: 508

You can try this as well rather then split if you have date & time or more date data

String requested_date = "16 Dec 2017";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd MMM yyyy");
Date dateObj = simpleDateFormat.parse(requested_date,new ParsePosition(0));
dateObj.getYear();

Upvotes: 0

AskNilesh
AskNilesh

Reputation: 69754

try this use split()

There are two signature for split() method in java string.

public String split(String regex)
and,
public String split(String regex, int limit)

use split a string in Java is to use .split(" ") which splits a string according to the pattern provided, returning a String array.

sample code

String date="16 Dec 2017";
String [] dateParts = date.split(" ");
String day = dateParts[0];
String month = dateParts[1];
String year = dateParts[2];

Upvotes: 1

J Ramesh
J Ramesh

Reputation: 548

try this

public static String getYyyy(String date) {
        String time = date;
        try {
            SimpleDateFormat format = new SimpleDateFormat("dd MMM yyyy");
            Date date1 = format.parse(date);
            if (date1 != null) {
                time = new SimpleDateFormat("yyyy").format(date1);
            }
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return time;
    }

Upvotes: 4

Omkar
Omkar

Reputation: 3100

if you want substring of date in which only Year i.e. last 4 number then try below code

    String date="16 Dec 2017";
    int a = date.length();
    String d = date.substring(a-4,a);

Upvotes: 0

Mehraj Malik
Mehraj Malik

Reputation: 15874

In java 8 you can do like this :

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();

Since you only want the year int year = localDate.getYear(); will give you year.

Upvotes: 0

Be aware there are several ways more elegant and correct to do this, normally you use a Date object and just change how it looks like...

but to your wish, my answer:

I wouldnt split because is a waste to create an array for only getting one element of it...

you can use the substring method

String xdate = "16 Dec 2017";
System.out.println(xdate.substring(xdate.length() - 4, xdate.length()));

Upvotes: 0

Nikhil Jadhav
Nikhil Jadhav

Reputation: 1621

You can just separate the string with help of " " i.e. blank space, try to split the string with " " just like this:-

String date = "16 Dec 2017";
String[] date = date.split(" ");
//for only 2017 you can use date[2] 

Upvotes: 0

Related Questions