Java-公历日历存储在variabe中?

null.ts:

即时通讯很难尝试将此打印语句更改为一个变量,以便与其他变量进行比较。

如果需要确定两个日期之间的差值,是否可以将输出存储为变量而不是打印?

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日

安德烈亚斯(Andreas):

要将其存储为变量,以便可以将其与其他日期进行比较,请致电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该类而不是GregorianCalendar

int day = 8;
int month = 3;
int year = 1950;
LocalDate date = LocalDate.of(year, month, day);

请注意,与有所不同GregorianCalendar,该month值基于1,因此必须3为get Mar

要将其格式化为Mar 8, 1950,请使用DateTimeFormatter

DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("MMM d, uuuu", Locale.US);
String str = date.format(dateFormat);

1)如果您使用的是Java 6或7,则仍可以LocalDate通过添加ThreeTen-Backport库来使用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章