相关疑难解决方法(0)

如何在java中找到自1970年以来的秒数

我正在使用一个实时项目,我需要在1970年1月1日之后找到秒数.我使用下面的代码来查找秒数,但是给出了错误的结果.代码如下.

public long returnSeconds(int year, int month, int date) {
    Calendar calendar1 = Calendar.getInstance();
    Calendar calendar2 = Calendar.getInstance();
    calendar1.set(1970, 01, 01);
    calendar2.set(year, month, date);
    long milliseconds1 = calendar1.getTimeInMillis();
    long milliseconds2 = calendar2.getTimeInMillis();
    long diff = milliseconds2 - milliseconds1;
    long seconds = diff / 1000;
    return seconds;
}
Run Code Online (Sandbox Code Playgroud)

在上面代替year,month,date我通过2011,10,1和我得到

1317510000
Run Code Online (Sandbox Code Playgroud)

但正确的答案是

1317427200
Run Code Online (Sandbox Code Playgroud)

对此有任何帮助对我非常有用.

java

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

用于将秒转换为java中的日期和时间组合的代码

我有几秒如下:

1320130800

我需要将值转换为日期和时间组合格式.格式化时我得到如下结果:

Tuesday,November 1,2011 2:00,AM

但正确的结果如下:

Tuesday,November 1,2011 7:00,AM

对于上面的格式转换,我使用了以下代码:

 long millis = 1320130800*1000;
           Date date = new Date(millis);
           SimpleDateFormat sdf = new SimpleDateFormat("EEEE,MMMM d,yyyy h:mm a");
           String formattedDate = sdf.format(date);
           System.out.println(formattedDate);
Run Code Online (Sandbox Code Playgroud)

任何人都可以指导我得到正确的答案吗?

java

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

在Java中转换时间戳日历

我想从long时间戳值中获取年,月,日和小时。我发现了很多Calendar从时间戳值创建a的示例,但我没有得到想要的结果。

我写了以下

long timestamp = 1488866400;

Calendar cal = GregorianCalendar.getInstance();
cal.setTimeInMillis( timestamp );

System.out.println( cal.get( Calendar.YEAR ) );
System.out.println( cal.get( Calendar.MONTH ) );
System.out.println( cal.get( Calendar.DATE ) );
Run Code Online (Sandbox Code Playgroud)

1488866400是星期二,2017年3月7日格林尼治标准时间,所以我希望上面的代码可以给我年2017,月2和日7,但是它可以给我年1970,月0和日17

谁能告诉我我做错了什么或者是否可以用其他方式做?

java time timestamp calendar date

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

将时间戳解析为LocalDateTime Scala

我有一个用户案例类的数据集,其中包含出生日期字段.我想将这些数据放入我的数据库,但是,日期以日期戳的形式表示,所以我不知道如何使用LocalDateTime解析它.以下是我所拥有的日期戳的示例:

-631065600
885254400
48124800
-1007596800
Run Code Online (Sandbox Code Playgroud)

我尝试做这样的事情:

val formatter = DateTimeFormatter.ofPattern("n")

  val users = List(
    models.User(1, "sosodachenheonne@list.me", "?????", "?????????", "m", LocalDateTime.parse("885254400", formatter)),
    models.User(2, "vyhihhimrusedac@list.me", "?????", "?????????", "m", LocalDateTime.parse("48124800", formatter)),
    models.User(3, "istoordadanaihdut@gmail.com", "????????", "?????????", "m", LocalDateTime.parse("-1007596800", formatter))
  )
Run Code Online (Sandbox Code Playgroud)

但我有一个例外:

java.time.DateTimeException: Unable to obtain LocalDate from TemporalAccessor: {NanoOfSecond=885254400},ISO of type java.time.format.Parsed
Run Code Online (Sandbox Code Playgroud)

datetime scala date-formatting

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

怎么把yyy / MM / ss hh:mm:ss转换成秒?

介绍

我正在尝试从两个纪元中获得几秒钟的差异

2019-05-22 18:28:56-> 1558542536秒

2019-07-22 19:00:00-> 1563814800秒

差异将是:5,272,264?秒

此日期格式来自二进制文件,作为字符串

我的密码

public static void main(String[] args) throws ParseException
{
    String regEpoch = "";
    long result = 0;

    //System.out.println((fecha = dateFormat.format(date)));


    try(RandomAccessFile raf = new RandomAccessFile("binario2.txt", "rw")){
      //user inputs a code (for now, doesn't matter if exists or not)
      System.out.print("Input a code to look for: ");
        String code = scan.next();
            while(!code.matches("\\d+"))
            {
                System.out.println("[ERROR] Only digits accepted");
                System.out.print("Input a code to look for: ");
                    code = scan.next();
            }


        //Gets the …
Run Code Online (Sandbox Code Playgroud)

java format date epoch seconds

-1
推荐指数
1
解决办法
96
查看次数

标签 统计

java ×4

date ×2

calendar ×1

date-formatting ×1

datetime ×1

epoch ×1

format ×1

scala ×1

seconds ×1

time ×1

timestamp ×1