相关疑难解决方法(0)

Android/Java - 日期差异

我使用以下代码获取当前日期(格式为12/31/1999,即mm/dd/yyyy):

Textview txtViewData;
txtViewDate.setText("Today is " +
        android.text.format.DateFormat.getDateFormat(this).format(new Date()));
Run Code Online (Sandbox Code Playgroud)

我的格式为另一个日期:2010-08-25(即yyyy/mm/dd),

所以我想找出日期的天数之间的差异,我如何找到天数的差异?

(换句话说,我想找出CURRENT DATE - yyyy/mm/dd格式化日期之间的区别)

java android date

77
推荐指数
6
解决办法
14万
查看次数

LocalDateTime,ZonedDateTime和Timestamp

我有一个SpringBoot应用程序.使用Spring Initializer,嵌入式Tomcat,Thymeleaf模板引擎和包作为可执行的JAR文件.

我有一个具有2个属性的域对象(initDate,endDate).我想创建2个转换器来处理mySQL DB

@Convert(converter = LocalDateTimeAttributeConverter.class) 
private LocalDateTime initDate;

@Convert(converter = ZonedDateTimeAttributeConverter.class) 
private ZonedDateTime endDate;
Run Code Online (Sandbox Code Playgroud)

转换器1(可以)

@Converter
public class LocalDateTimeAttributeConverter implements AttributeConverter<LocalDateTime, Timestamp> {

    @Override
    public Timestamp convertToDatabaseColumn(LocalDateTime localDateTime) {
        return (localDateTime == null ? null : Timestamp.valueOf(localDateTime));
    }

    @Override
    public LocalDateTime convertToEntityAttribute(Timestamp sqlTimestamp) {
        return (sqlTimestamp == null ? null : sqlTimestamp.toLocalDateTime());
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我想要创建的那个

@Converter
public class ZonedDateTimeAttributeConverter implements AttributeConverter<ZonedDateTime, Timestamp> {

    @Override
    public Timestamp convertToDatabaseColumn(ZonedDateTime zoneDateTime) {
        return (zoneDateTime == null ? null : Timestamp.valueOf(zoneDateTime));
    } …
Run Code Online (Sandbox Code Playgroud)

java mysql java-8 java-time java-date

13
推荐指数
2
解决办法
2万
查看次数

将java.util.Date截断为LocalDate,而不必将inTunst()截断,因为java.sql.Date提供了UnsupportedOperationException

如果我用java.util.DatetoInstant()上这恰好是一个变量java.sql.Date,我得到一个UnsupportedOperationException

try {
    java.util.Date input = new java.sql.Date(System.currentTimeMillis());
    LocalDate date = input.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
} catch (UnsupportedOperationException e) {
    // grrr!
}
Run Code Online (Sandbox Code Playgroud)

java.util.Date,我很担心经由传统API的MySQL数据库来自一个日期字段,而实际上是一个java.sql.Date

现在,以下相关问题都很有趣:

UnsupportedOperationException-为什么不能在java.sql.Date上调用toInstant()?

将java.util.Date转换为java.time.LocalDate

LocalDate到java.util.Date的转换,反之亦然?

但它们没有提供任何截断a的优雅方法java.util.Date来摆脱时间成分并获得Java 8 LocalDate

我承认存在一个问题,一个时区中的同一时刻可能与另一时区中的同一时刻的日期不同。

我怀疑解决方案将涉及java.util.Calendar,但与其设计我自己的解决方案,不如先确定其他人已经做的事情。

我希望找到比这短的东西:

在Java中重置时间戳的时间部分开始

Date date = new Date();                      // timestamp now
Calendar cal = Calendar.getInstance();       // get calendar instance
cal.setTime(date);                           // set cal to date
cal.set(Calendar.HOUR_OF_DAY, 0);            // set hour to midnight
cal.set(Calendar.MINUTE, 0); …
Run Code Online (Sandbox Code Playgroud)

java datetime date date-conversion java-time

6
推荐指数
2
解决办法
4689
查看次数

将java.sql.Timestamp转换为Java 8 ZonedDateTime吗?

将Joda时间迁移到Java 8

乔达:

UserObject user = new UserObject()
user.setCreatedAt(new DateTime(rs.getTimestamp("columnName")));`
Run Code Online (Sandbox Code Playgroud)

迁移至Java 8

这是我的代码;它确实可以编译;我怀疑它是否有效:

ZonedDateTime.ofInstant(rs.getTimestamp("columnName").toLocalDateTime().toInstant(ZoneOffset.UTC),ZoneId.of("UTC")));
Run Code Online (Sandbox Code Playgroud)

在某些情况下,日期是错误的。有什么建议吗?

java sql java-8 java-time zoneddatetime

6
推荐指数
3
解决办法
4310
查看次数

如何从 java.util.Date 获取日期部分(处理时间部分)?

我想比较两个对象的日期部分java.util.Date。我怎样才能实现这个目标?我不想分别比较日期、月份和年份。

提前致谢!

java calendar date date-comparison

5
推荐指数
1
解决办法
1万
查看次数

在Android中使用AlarmManager启动日常服务?

我需要每晚午夜运行服务.我想使用AlarmManager来做到这一点.

你能给我一些如何让它正常工作的指导吗?

alarmManager = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
alarmManager.setInexactRepeating(AlarmManager.ELAPSED_REALTIME, System.currentTimeMillis(), AlarmManager.INTERNAL_DAY, serviceIntent);
Run Code Online (Sandbox Code Playgroud)

也许我需要使用Calendar对象来指定时间?谢谢你的帮助!

android

3
推荐指数
1
解决办法
6402
查看次数