我正在使用一个实时项目,我需要在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)
对此有任何帮助对我非常有用.
我有几秒如下:
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)
任何人都可以指导我得到正确的答案吗?
我想从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。
谁能告诉我我做错了什么或者是否可以用其他方式做?
我有一个用户案例类的数据集,其中包含出生日期字段.我想将这些数据放入我的数据库,但是,日期以日期戳的形式表示,所以我不知道如何使用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) 介绍
我正在尝试从两个纪元中获得几秒钟的差异
即
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)