相关疑难解决方法(0)

从现在起3年后获得unix时间戳

使用Android和Java 8,如何及时获得unix时间戳?

例如

  • 从现在开始整整3年
  • 从现在起整整2个月
  • 从现在起整整一天
  • 等等

我知道我可以使用当前的时间戳System.currentTimeMillis() / 1000L(您也可以使用Instant.now().getEpochSecond()新的java.time,但这需要Android API> 25).现在我需要得到偏移并减去它.我可以使用TimeUnit.Days.toSeconds(),但是如果我想减去年份,它就没有YEAR单位而且我不想自己捣乱闰年.

有一个简单的方法吗?

android unix-timestamp android-date

0
推荐指数
1
解决办法
101
查看次数

将现在6个月前的日期转换为字符串

我已经采取了SOF和其他网站上给出的所有答案,并尝试这样做:

String fromDateTime = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.sssX").format(new DateTime().plusMonths(-6));
Run Code Online (Sandbox Code Playgroud)

但是我被给了例外:

线程"main"中的异常java.lang.IllegalArgumentException:无法将给定的Object格式化为Date

我究竟做错了什么?

java format date jodatime simpledateformat

0
推荐指数
1
解决办法
79
查看次数

Java中如何获取两个日期之间的工作日

我的问题是我需要获取用户输入的两个日期之间的工作日。我不知道用什么来比较和获取日期,但有我的代码。

    // Scanner
    Scanner input = new Scanner(System.in);
    System.out.println("First date: ");
    String date1 = input.nextLine();
    System.out.println("Second date: ");
    String date2 = input.nextLine();
    input.close();
    
    // The format for the Date
    DateFormat formatDate = new SimpleDateFormat("dd/MM/yyyy");
    
    // Conver String to Date
    Date date_1 = formatDate.parse(date1);
    Date date_2 = formatDate.parse(date2);
    
    // Calendar
    Calendar calendar = Calendar.getInstance();
    
    // Date to Calendar
    calendar.setTime(date_1);
    calendar.setTime(date_2);
Run Code Online (Sandbox Code Playgroud)

现在我需要做一些事情来获得这些日期之间的工作日,但我不知道如何

java date

0
推荐指数
1
解决办法
2821
查看次数

接收日期,包括时区偏移量作为字符串并使用该时区转换为不同的格式

我从我的客户那里收到一个这样的格式的字符串

yyyy-MM-dd'T'HH:mm:ss.SSSXXX:

2021-02-04T15:31:22.265-05:00
2021-02-04T15:31:22.265+00:00
2021-02-04T15:31:22.265-06:00
Run Code Online (Sandbox Code Playgroud)

我需要将它们转换为新格式:

MMMM dd, yyyy - HH:mm a z (where z is the three character abbreviation for the timezone. Ex. EST)

February 02, 2021 - 15:31 PM EST
February 02, 2021 - 15:31 PM UTC
February 02, 2021 - 15:31 PM CST
Run Code Online (Sandbox Code Playgroud)

通常我会做这样的事情:

SimpleDateFormat inDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX")
        SimpleDateFormat outDateFormat = new SimpleDateFormat("MMMM dd, yyyy - HH:mm a z")
        Date date = inDateFormat.parse("2021-02-04T15:31:22.265-05:00");
        String convertedTime = outDateFormat.format(date) // February 02, 2021 - 15:31 PM EST

Run Code Online (Sandbox Code Playgroud)

但后来我意识到它只是在打印 …

java timezone datetime date timezone-offset

0
推荐指数
1
解决办法
98
查看次数

获取Java中满足条件的下一个日期

我知道这应该很简单,但我在互联网上找不到任何东西。

鉴于某些条件,我想Date在满足条件时获得下一个。例如,如果条件是minute = 01并且second = 30现在时间是15:58:00,则函数应该在今天返回16:01:30。我如何在 Java 中完成此操作?

我需要能够设置至少秒、分钟和小时的条件,但我希望有可能将一个条件设置为任何值(如上面的示例,未指定小时)。

感谢并抱歉我的英语不好。

编辑: 我看到有些事情可能需要澄清:我想总是满足条件的当前时间之后获得一个日期(或其他)。此外,这适用于 Minecraft Spigot 服务器,也许此信息可以提供帮助。

java time

0
推荐指数
1
解决办法
71
查看次数

如何仅使用 @DateTimeFormat 将日期 @ConfigurationProperties 与时间绑定?

spring-boot 的新手。

我正在尝试使用注释@ConfigurationProperties 解析文件中的属性。我能够解析日期字段以外的字段。

问题是我的属性文件只有时间而没有日期。即日期=09:30:00。

我可以用 @DateTimeFormat(pattern = "HH:mm:ss") 解析它。但问题是,它给出的日期为 date=Thu Jan 01 09:30:00 GST 1970。

我想获取今天的日期,时间为 09:30:00。是否可以 ?

@ConfigurationProperties
public class Config {

    private int id;
    
    private int version;
        
    @DateTimeFormat(pattern = "HH:mm:ss")
    private Date date;
    
}
Run Code Online (Sandbox Code Playgroud)

财产

id=12
version=2
date=09:30:00
Run Code Online (Sandbox Code Playgroud)

java spring spring-boot dateformatter

0
推荐指数
1
解决办法
3494
查看次数

将 PST 时间转换为 GMT

我正在尝试在java中将pst时间戳转换为gmt

我有一个带有时间戳的字符串2021-03-23T22:00:00.669-07:00。我将如何处理该字符串并将其转换为 GMT 时间戳?

2021-03-24T05:03:00.669Z
Run Code Online (Sandbox Code Playgroud)

我做了一些我尝试过的事情,但还没有去过任何地方

//Date date = new Date(str);
      
String s = str;
DateFormat pstFormat = new SimpleDateFormat();
DateFormat gmtFormat = new SimpleDateFormat();
TimeZone gmtTime = TimeZone.getTimeZone("GMT");
TimeZone pstTime = TimeZone.getTimeZone("PST");
      
pstFormat.setTimeZone(gmtTime);
gmtFormat.setTimeZone(pstTime);
System.out.println("GMT Time: " + pstFormat.format(s));
System.out.println("PST Time: " + gmtFormat.format(s));
Run Code Online (Sandbox Code Playgroud)

结果java.lang.IllegalArgumentException: Cannot format given Object as a Date在这一行:

System.out.println("GMT Time: " + pstFormat.format(s));
Run Code Online (Sandbox Code Playgroud)

java timezone

0
推荐指数
1
解决办法
514
查看次数

Java8 过滤器数组列表与字段日期上的自定义对象

我必须List<Card>在字段issueDate(类型String)上进行过滤,其中卡片要显示到过去 7 年的日期。

我尝试过的解决方案是issueDateStringto解析字段Date,然后应用date.after(startDate)date.before(endDate)如下所示:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
cardList.stream()
        .map(s->s.getIssueDate())
        .filter(dt -> sdf.parse(dt).after(sdf.parse("2020-06-08")) && 
                      sdf.parse(dt).before(sdf.parse("2020-08-12")))
        .collect(Collectors.toList());  
Run Code Online (Sandbox Code Playgroud)

甚至不能申请循环,因为可能有数百张卡发行,它通过迭代每个发卡日期(字符串到日期和检查年份)来影响性能

任何人都可以提出一个很好的解决方案来解决这个问题吗?

arraylist simpledateformat java-8 java-stream java-time

0
推荐指数
1
解决办法
219
查看次数

字符串到日期格式java

我有这个String date="2021-04-25T18:54:18",我应该这样格式化:HH:mm ,dd mmm yyyy

我试过这个

String date="2021-04-25T18:54:18";
 Date format= null;
    try {
        format = new SimpleDateFormat("HH:mm, yyyy-MM-dd'T", Locale.ENGLISH).parse(date);
        holder.tvDate.setText(format.toString());

    } catch (ParseException e) {
        e.printStackTrace();
    }
Run Code Online (Sandbox Code Playgroud)

但不起作用

java android

0
推荐指数
1
解决办法
58
查看次数

如何将时间字符串转换为日期和时间格式?

我很难尝试将字符串时间格式化为 MM:DD::YY 并且只有时间。我从 IP 获取以下格式的时间

2021-09-10T00:37:42Z
Run Code Online (Sandbox Code Playgroud)

我想在以下位置显示日期和时间:

09/08/2021
Run Code Online (Sandbox Code Playgroud)

时间

09:50PM
Run Code Online (Sandbox Code Playgroud)

java format time datetime android

0
推荐指数
1
解决办法
153
查看次数