Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java从unix时间戳获取当前日期_Java_Unix Timestamp - Fatal编程技术网

Java从unix时间戳获取当前日期

Java从unix时间戳获取当前日期,java,unix-timestamp,Java,Unix Timestamp,我想将unix时间戳仅转换为当前日期,如一年中当前日期当月的当前日期,是否可以仅使用数学,如*、/,或其他方法进行转换?您可以使用SimpleDataFormat格式化日期: long unixSeconds = 1372339860; Date date = new Date(unixSeconds*1000L); // *1000 is to convert seconds to milliseconds SimpleDateFormat sdf = new SimpleDateFormat

我想将unix时间戳仅转换为当前日期,如一年中当前日期当月的当前日期,是否可以仅使用数学,如*、/,或其他方法进行转换?

您可以使用SimpleDataFormat格式化日期:

long unixSeconds = 1372339860;
Date date = new Date(unixSeconds*1000L); // *1000 is to convert seconds to milliseconds
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss z"); // the format of your date
sdf.setTimeZone(TimeZone.getTimeZone("GMT-4")); // give a timezone reference for formating (see comment at the bottom
String formattedDate = sdf.format(date);
System.out.println(formattedDate);

您还可以将时间戳乘以1000,将其转换为毫秒:

java.util.Date dateTime=new java.util.Date((long)timeStamp*1000);
完成后,您可以得到您想要的:

Calendar cal = Calendar.getInstance();
cal.setTime(dateTime);
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH); //here is what you need
int day = cal.get(Calendar.DAY_OF_MONTH);

您可以使用SimpleDataFormat设置日期格式:

long unixSeconds = 1372339860;
Date date = new Date(unixSeconds*1000L); // *1000 is to convert seconds to milliseconds
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss z"); // the format of your date
sdf.setTimeZone(TimeZone.getTimeZone("GMT-4")); // give a timezone reference for formating (see comment at the bottom
String formattedDate = sdf.format(date);
System.out.println(formattedDate);

您还可以将时间戳乘以1000,将其转换为毫秒:

java.util.Date dateTime=new java.util.Date((long)timeStamp*1000);
完成后,您可以得到您想要的:

Calendar cal = Calendar.getInstance();
cal.setTime(dateTime);
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH); //here is what you need
int day = cal.get(Calendar.DAY_OF_MONTH);

您可以使用
java.util.date
您需要将时间戳乘以1000,因为java需要毫秒。您可以使用
cal.get(Calendar.DAY\u OF\u MONTH)
功能打印日期

import java.sql.Timestamp;
import java.util.Calendar;

public class MyFirstJavaProgram {
    public static void main(String []args) {
       long unixTimeStamp= System.currentTimeMillis() / 1000L;
       java.util.Date time=new java.util.Date((long)unixTimeStamp*1000);
       Calendar cal = Calendar.getInstance();
       // It's a good point better use cal because date-functions are deprecated
       cal.setTime(time);
       System.out.println(cal.get(Calendar.DAY_OF_MONTH));
    }
}

任何进一步的问题请留下评论。

您可以使用
java.util.date
您需要将时间戳乘以1000,因为java需要毫秒。您可以使用
cal.get(Calendar.DAY\u OF\u MONTH)
功能打印日期

import java.sql.Timestamp;
import java.util.Calendar;

public class MyFirstJavaProgram {
    public static void main(String []args) {
       long unixTimeStamp= System.currentTimeMillis() / 1000L;
       java.util.Date time=new java.util.Date((long)unixTimeStamp*1000);
       Calendar cal = Calendar.getInstance();
       // It's a good point better use cal because date-functions are deprecated
       cal.setTime(time);
       System.out.println(cal.get(Calendar.DAY_OF_MONTH));
    }
}

任何进一步的问题请留下评论。

简短的解决方案如下

long epoch = 1501350790; // current unix time
int day = Integer.parseInt(new SimpleDateFormat("dd").format(new Date(epoch * 1000L)));

通过计算(*和/)可以得到这个结果,但没有简单的方法。您可以将的实现用作参考

简短的解决方案如下

long epoch = 1501350790; // current unix time
int day = Integer.parseInt(new SimpleDateFormat("dd").format(new Date(epoch * 1000L)));

通过计算(*和/)可以得到这个结果,但没有简单的方法。您可以使用的实现作为参考

我明白了,但我只想要当天的输出,如果当月的日期是29,那么我只想要输出29,一年中的当天也可以,比如210(2017-07-29)刚刚更新了答案。看看它是否解决了您的问题。仅供参考,这些麻烦的类现在是遗留类,被java.time类取代。我明白了,但我只想要当天的输出,如果一个月的日期是29,那么我只想要输出29,一年的当天也可以,比如210(2017-07-29)刚刚更新了答案。看看它是否解决了您的问题。仅供参考,这些麻烦的类现在是遗留的,被java.time类所取代。对于初学者来说,当前日期在哪个时区?
Instant.ofEpochSecond(1501350790)。atZone(ZoneId(“Pacific/Auckland”)。toLocalDate()
对于初学者来说,当前日期在哪个时区?
Instant.ofEpochSecond(1501350790).atZone(ZoneId(“太平洋/奥克兰”).toLocalDate()
或者理想情况下不要使用
java.util.Date
java.util.Calendar
-使用远远更好的
java.time.
API…或者理想情况下不要使用
java.util.Date
java.util.Calendar
-使用远远更好的
java.time.
API。。。