Java - 公历存储在变量中?
Java - Gregorian Calender Stored in variabe?
我很难尝试将此打印语句更改为变量以与其他变量进行比较。
如果您需要确定两个日期的差异,是否可以将输出存储为变量而不是打印出来?
import java.util.GregorianCalendar;
import java.util.Calendar;
public class Test {
public static void main(String[] args){
int Day = 8;
int Month = 2;
int Year = 1950;
GregorianCalendar gcal = new GregorianCalendar(Year, Month, Day);
String month[] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" };
System.out.println(month[gcal.get(Calendar.MONTH)] + " " + gcal.get(Calendar.DATE) + ", "
+ gcal.get(Calendar.YEAR));}
}
此输出打印:
1950 年 3 月 8 日
要存储为变量,以便与其他日期进行比较,请调用 getTime()
:
int Day = 8;
int Month = 2;
int Year = 1950;
GregorianCalendar gcal = new GregorianCalendar(Year, Month, Day);
Date date = gcal.getTime();
要将其格式化为 Mar 8, 1950
,请使用 SimpleDateFormat
:
SimpleDateFormat dateFormat = new SimpleDateFormat("MMM d, yyyy", Locale.US);
String str = dateFormat.format(date);
无需自己命名月份。
但是,如果您使用 Java 8 或更高版本1,您应该使用 LocalDate
class instead of GregorianCalendar
:
int day = 8;
int month = 3;
int year = 1950;
LocalDate date = LocalDate.of(year, month, day);
请注意,与 GregorianCalendar
不同,month
值是从 1 开始的,因此需要 3
才能得到 Mar
。
要将其格式化为 Mar 8, 1950
,请使用 DateTimeFormatter
:
DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("MMM d, uuuu", Locale.US);
String str = date.format(dateFormat);
1) 如果您使用的是 Java 6 或 7,您仍然可以通过添加 ThreeTen-Backport 库来使用 LocalDate
。
我很难尝试将此打印语句更改为变量以与其他变量进行比较。
如果您需要确定两个日期的差异,是否可以将输出存储为变量而不是打印出来?
import java.util.GregorianCalendar;
import java.util.Calendar;
public class Test {
public static void main(String[] args){
int Day = 8;
int Month = 2;
int Year = 1950;
GregorianCalendar gcal = new GregorianCalendar(Year, Month, Day);
String month[] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" };
System.out.println(month[gcal.get(Calendar.MONTH)] + " " + gcal.get(Calendar.DATE) + ", "
+ gcal.get(Calendar.YEAR));}
}
此输出打印: 1950 年 3 月 8 日
要存储为变量,以便与其他日期进行比较,请调用 getTime()
:
int Day = 8;
int Month = 2;
int Year = 1950;
GregorianCalendar gcal = new GregorianCalendar(Year, Month, Day);
Date date = gcal.getTime();
要将其格式化为 Mar 8, 1950
,请使用 SimpleDateFormat
:
SimpleDateFormat dateFormat = new SimpleDateFormat("MMM d, yyyy", Locale.US);
String str = dateFormat.format(date);
无需自己命名月份。
但是,如果您使用 Java 8 或更高版本1,您应该使用 LocalDate
class instead of GregorianCalendar
:
int day = 8;
int month = 3;
int year = 1950;
LocalDate date = LocalDate.of(year, month, day);
请注意,与 GregorianCalendar
不同,month
值是从 1 开始的,因此需要 3
才能得到 Mar
。
要将其格式化为 Mar 8, 1950
,请使用 DateTimeFormatter
:
DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("MMM d, uuuu", Locale.US);
String str = date.format(dateFormat);
1) 如果您使用的是 Java 6 或 7,您仍然可以通过添加 ThreeTen-Backport 库来使用 LocalDate
。