如何从日期变量中提取月份?

How to extract month from a Date variable?

 dtNextVisit=cal.getTime();
 out.println(dtNextVisit);

我没有在此处包含所有代码。这会在结果中显示 "Sun Jan 17 02:53:40 PST 2016",因为月份是一月。 现在我想提取月份并将其存储到另一个变量假设:

int month=0;

它应该显示 1

Calendar cal = Calendar.getInstance();
int month = cal.get(Calendar.MONTH) + 1;

月将有 1

示例:

import java.time.*;
class ABC{
    public static void main(String[] args){
        System.out.println(LocalDate.now().getMonthValue());
    }
}

编辑:我错过了价值..

如果你正在寻找字符串到日期的转换之王,那么java.text.SimpleDateFormat就是你需要用到的。使用 https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html 这个 link 你解决任何问题。如果正确,请标记为答案。

public class Test {    
public int getMonth(String dateText) throws ParseException {

   SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy");
   Date myday = sdf.parse(dateText);
   System.out.println(myday.getMonth()+1);
   return myday.getMonth() + 1;
}

public static void main(String[] args) throws ParseException {  
  String date = "Sun Jan 17 02:53:40 PST 2016";
  new Test().getMonth(date);
}
}