我有一个填充了日期+时间的String ArrayList。格式为:“11 04 2017 - 12:45:54”
我想更改格式,只显示日期:“11 04 2017”并将其保存到另一个阵列。
如何剪切数组的最后几个字符?
package com.example.hodor.stringcut;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.EditText;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
private EditText textView, textView1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = (EditText) findViewById(R.id.editText);
textView1 = (EditText) findViewById(R.id.editText1);
ArrayList<String> listDate = new ArrayList<>();
ArrayList<String> listDate1 = new ArrayList<>();
listDate.add("10 - 07 - 2017 - 12:32:45");
listDate.add("10 - 07 - 2017 - 12:35:45");
listDate.add("10 - 07 - 2017 - 12:36:45");
listDate.add("10 - 07 - 2017 - 12:38:45");
listDate.add("10 - 07 - 2017 - 12:30:45");
textView.setText(listDate[1]);
for (int i = 0; i < listDate.length; i++) {
listDate1[i] = listDate[i].substring(0, listDate[i].length(), -10);
textView.setText(listDate1[1]);
}
}
}
有人可以帮助我吗?
答案 0 :(得分:0)
试试这个。它对我有用
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ll_principal_menu"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:background="?attr/colorPrimaryDark"
android:elevation="6dp"
android:minHeight="?attr/actionBarSize" />
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
答案 1 :(得分:0)
您最初的substring(0, length - 11)
概念是正确的。你只是遇到类型问题。
listDate
的类型为ArrayList。 substring方法不适用于此。它适用于String类型的元素。
您还将ArrayList类型与java primitive arrays混为一谈。以下是how to utilize an ArrayList的一些示例。
但是一旦你对此感到满意,这段代码......
public static void main(String[] args) {
String date = "10 - 07 - 2017 - 12:30:45";
String modifiedDate = date.substring(0, date.length() - 10);
System.out.println(modifiedDate);
}
输出......
10 - 07 - 2017
在更高的层面上,如果你要做的是解析日期,那么Brandon共享的链接会更加贴切。