📅  最后修改于: 2023-12-03 15:01:53.242000             🧑  作者: Mango
Java中的 FieldPosition setBeginIndex() 方法是用于设置一个字段(field)值在字符串中的起始位置(begin index)的方法。FieldPosition是一个基本的Format方法,它提供了关于输出字符串中特定字段的位置信息和相关的属性。
public void setBeginIndex(int index)
该方法没有任何返回值。
以下代码示例演示了如何在一个字符串中设置字段值的起始位置。代码中,我们使用FieldPosition来获取“日”字在当前日期中的位置,并使用setBeginIndex()方法来将其起始位置移动到日前的位置。
import java.text.*;
import java.util.*;
public class FieldPositionExample {
public static void main(String[] args) {
String[] formats = {
"dd-MM-yyyy",
"d',' MMMM yyyy",
"w'-'yyyy",
"yyyy年M月dd日"
};
Date today = new Date();
System.out.println("当前日期:" + today.toString());
for (String f : formats) {
demo(f, today);
}
}
static void demo(String f, Date date) {
DateFormat format = new SimpleDateFormat(f, Locale.getDefault());
StringBuffer sb = new StringBuffer();
FieldPosition pos = new FieldPosition(DateFormat.DAY_OF_MONTH_FIELD);
format.format(date, sb, pos);
System.out.println("格式:" + f);
System.out.println("日期字符串:" + sb);
System.out.println("日期字符串中日字段的起始位置:" + pos.getBeginIndex());
System.out.println("===========================");
}
}
输出结果为:
当前日期:Mon Nov 01 16:53:20 CST 2021
格式:dd-MM-yyyy
日期字符串:01-11-2021
日期字符串中日字段的起始位置:0
===========================
格式:d',' MMMM yyyy
日期字符串:1, 十一月 2021
日期字符串中日字段的起始位置:0
===========================
格式:w'-'yyyy
日期字符串:44-2021
日期字符串中日字段的起始位置:-1
===========================
格式:yyyy年M月dd日
日期字符串:2021年11月01日
日期字符串中日字段的起始位置:8
===========================
该方法没有任何异常。