我试图通过传递一个日期名称,比如,星期一或星期二,来找出它是1、2或3天的数字,因为日期数字可能会根据系统日历而改变(一些日历中的周日会在一些星期一中是开始的一天)。
我需要找出周一,周五或周日的日期,通过这些天的指数和周数。
我可以根据日期找出周数,但要通过天数(或索引),我需要根据本地系统找出准确的索引。
请告诉我这有没有可能?
import java.time.LocalDateTime;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.Date;
public class HelloWorld{
public static void main(String []args){
String str = "2018-06-08 12:34:21";
int sDate, eDate;
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime assignedDateTime = LocalDateTime.parse(str, formatter);
//LocalDate assignedDate = assignedDateTime.toLocalDate();
Instant instant = assignedDateTime.atZone(ZoneId.systemDefault()).toInstant();
Date dateFromOld = Date.from(instant);
Calendar calendar = new GregorianCalendar();
calendar.setTime(dateFromOld);
int weekNumber = calendar.get(calendar.WEEK_OF_MONTH);
int dayofWeek = calendar.get(Calendar.DAY_OF_WEEK);
System.out.println(assignedDateTime);
System.out.println(dateFromOld);
System.out.println(weekNumber);
System.out.println(dayofWeek);
}
}这是我写的代码,我可以从中找出所需日期的周数和日数。
但是,我想要通过传递日期名称来找出日期编号,但我没有找到任何方法。有一些逻辑可以找出像编写枚举函数一样的情况,但这种逻辑在某些情况下也会失败,比如如果系统的起始日期与我们的枚举函数不同。
我希望现在清楚了。
https://stackoverflow.com/questions/50760201
复制相似问题