使用数据绑定时从 getTimeInMillis 获取日期
Getting Date from getTimeInMillis when using Databinding
我有一个 timeInMillis
值,我知道我可以用类似的东西得到 Date
;
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
String dateString = formatter.format(new Date(dateInMillis)));
我正在使用 DataBinding
填充 RecyclerView
。我也知道在使用 DataBinding
时我可以操纵字符串;
android:text='@{String.format("%.1f", example.double)}'
但是,我不知道如何根据我的 timeInMillis
值使用格式化的 Date
填充 TextView
。
您可以在您的模型中添加一个函数,它可以将您的 timeInMillis 转换为格式化的日期。
在您的数据绑定布局中使用的模型中:
public String getDateFormatted(){
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
return formatter.format(new Date(dateInMillis)));;
}
在您的布局中:
<layout>
<data>
<variable name="yourModel"
type="com.example.model.yourModel"/>
</data>
...
<TextView
...
android:text="@{yourModel.dateFomatted}"
/>
我认为将格式放在资源中是最好的方法:
<string name="format">%1$td/%1$tm/%1$tY</string>
您可以像这样将值绑定到资源:
<TextView ... android:text="@{@string/format(model.date)}" />
正如George Mount所说,你可以使用原生的字符串格式资源来处理它。
这里我展示了一些我最终实现的例子:
<string name="formatter_date">%1$td/%1$tm/%1$tY</string>
<string name="formatter_time">%1$tH:%1$tM</string>
首先是 01/01/2000
第二个是00:00
所有文档都是Here
我有一个 timeInMillis
值,我知道我可以用类似的东西得到 Date
;
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
String dateString = formatter.format(new Date(dateInMillis)));
我正在使用 DataBinding
填充 RecyclerView
。我也知道在使用 DataBinding
时我可以操纵字符串;
android:text='@{String.format("%.1f", example.double)}'
但是,我不知道如何根据我的 timeInMillis
值使用格式化的 Date
填充 TextView
。
您可以在您的模型中添加一个函数,它可以将您的 timeInMillis 转换为格式化的日期。
在您的数据绑定布局中使用的模型中:
public String getDateFormatted(){
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
return formatter.format(new Date(dateInMillis)));;
}
在您的布局中:
<layout>
<data>
<variable name="yourModel"
type="com.example.model.yourModel"/>
</data>
...
<TextView
...
android:text="@{yourModel.dateFomatted}"
/>
我认为将格式放在资源中是最好的方法:
<string name="format">%1$td/%1$tm/%1$tY</string>
您可以像这样将值绑定到资源:
<TextView ... android:text="@{@string/format(model.date)}" />
正如George Mount所说,你可以使用原生的字符串格式资源来处理它。
这里我展示了一些我最终实现的例子:
<string name="formatter_date">%1$td/%1$tm/%1$tY</string>
<string name="formatter_time">%1$tH:%1$tM</string>
首先是 01/01/2000
第二个是00:00
所有文档都是Here