java设置日历_java-将日历设置为特定日期?

我想在特定日期设置提醒和通知.然后,我现在将AlarmManager与NotificationManager一起使用.当我从dateDialog设置选定的日期时,提醒正在起作用.如何将日历值设置为固定时间的警报?我从中得到当前的日期和时间:

Calendar calendar = Calendar.getInstance();

然后可以像下面一样手动设置日历,它可以正常工作:

calendar.set(Calendar.SECOND, 0);

calendar.set(Calendar.MINUTE, 13);

calendar.set(Calendar.HOUR, 7);

calendar.set(Calendar.AM_PM, Calendar.AM);

calendar.set(Calendar.MONTH, Calendar.JANUARY);

calendar.set(Calendar.DAY_OF_MONTH, 8);

calendar.set(Calendar.YEAR,2015);

long when = calendar.getTimeInMillis();

但是我的问题是如何将日历设置为明天和上午9:00,或者将日历完全设置为当前日期之后的特定月份(或年份)?我的意思是这样的:

calendar.add(Calendar.DAY_OF_MONTH, 1);

但它不起作用.

解决方法:

乔达时代

尝试使用更好的日期时间库,例如Joda-Time.

在Joda-Time中,您可以在保留一天中的时间的同时更改日期.或者反之亦然,在保留日期的同时保留时间.

DateTime now = DateTime.now( DateTimeZone.forID( "America/Montreal" ) ) ;

DateTime todayNoon = now.withTime( 12, 0, 0, 0 ) ;

DateTime midMarchSameYearSameTimeAsNow = now.withDate( now.getYear(), DateTimeConstants.MARCH, 15 );

DateTime tomorrowSameTime = now.plusDays( 1 );

标签:calendar,java,android,date

来源: https://codeday.me/bug/20191120/2047300.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值