如何从用户在android studio中提供的日期中减去固定天数?
Posted
技术标签:
【中文标题】如何从用户在android studio中提供的日期中减去固定天数?【英文标题】:how to subtract fixed number of days from a provided date by the user in android studio? 【发布时间】:2021-07-01 04:55:44 【问题描述】:例如如果用户填写日期并且有一个由三个选项组成的微调器,即 70,90 和 45。因此,如果用户填写日期并选择例如 70 并单击提交,则应从填写的日期中减去 20 天应显示用户和结果,即结果将是用户填写日期前 20 天的日期。如果选择 90 则 30 天前等等...(java 代码) the ui image
<Button
android:id="@+id/backBtn7"
android:layout_
android:layout_
android:text="Back"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.915" />
<EditText
android:id="@+id/input1"
android:layout_
android:layout_
android:ems="10"
android:hint="Shipment Date"
android:inputType="date"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.532"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.096" />
<Spinner
android:id="@+id/spinner1"
android:layout_
android:layout_
android:text="Lead Time"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.529"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/input1"
app:layout_constraintVertical_bias="0.063"
tools:ignore="HardcodedText" />
<Button
android:id="@+id/submitBtn2"
android:layout_
android:layout_
android:text="Submit"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.539"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/spinner1"
app:layout_constraintVertical_bias="0.074" />
<RelativeLayout
android:layout_
android:layout_>
<TextView
android:layout_
android:layout_
android:textAppearance="?android:attr/textAppearanceLarge"
android:id="@+id/tv_result"
android:layout_centerInParent="true" />
</RelativeLayout>
Java 代码
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_p_c_d_calculator);
backBtn7 = findViewById(R.id.backBtn7);
submitBtn2 = findViewById(R.id.submitBtn2);
getSupportActionBar().setTitle("PCD Calculator");
tv_result = (TextView) findViewById(R.id.tv_result);
input1 = findViewById(R.id.input1);
spinner1 = findViewById(R.id.spinner1);
submitBtn2 = findViewById(R.id.submitBtn2);
submitBtn2.setOnClickListener(new View.OnClickListener()
@Override
public void onClick(View v)
);
tv_result.setText("PCD: ");
String[] users = "70", "90", "45" ;
Spinner spin = (Spinner) findViewById(R.id.spinner1);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, users);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spin.setPrompt("Lead Time");
spin.setAdapter(adapter);
backBtn7.setOnClickListener(new View.OnClickListener()
@Override
public void onClick(View v)
startActivity(new Intent(getApplicationContext(),MainActivity.class));
finish();
);
【问题讨论】:
你试过什么?请包含所有相关代码以帮助提供具体答案。 目前我还没有尝试任何具体的东西,因为我无法理解如何执行和继续。 【参考方案1】:LocalDate#minusDays
您可以使用java.time 包中的LocalDate
。
您可以使用LocalDate#of
静态方法创建LocalDate
实例:
LocalDate date = LocalDate.of(2021, 4, 5); // Apr 5, 2021
如果你的日期是作为字符串输入的,你可以使用 LocalDate#parse
方法和 DateTimeFormatter,例如:
LocalDate date = LocalDate.parse("2021/04/05", DateTimeFormatter.ofPattern("yyyy/MM/dd")); // Apr 5, 2021
最后,拥有LocalDate
实例,您可以使用很多方法来处理日期:
LocalDate dateMinus30Days = date.minusDays(30);
有关详细信息,您可以查看docs 或例如tutorial。
【讨论】:
对不起,解决办法一点都不清楚 @OLezhko 仅供参考,Stack Overflow 使用Markdown 的变体来编辑页面内容。您可以使用反引号代替 html code 标签。例如,我在此答案中更改了一些。请参阅Markdown Help 页面。感谢您参与 Stack Overflow。以上是关于如何从用户在android studio中提供的日期中减去固定天数?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Android Studio 2019 中捕获图片而不进行预览
如何使用firebase在android studio中从一个用户向另一个用户发送通知[重复]
如何向Android Studio里导入从Github上面下载的Project?
当用户切换到 Android Studio Kotlin 中的其他页面时,如何停止播放音乐?