如何在此之前的一周内以这种格式在android中获取日期:
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Run Code Online (Sandbox Code Playgroud)
前:现在2010-09-19 HH:mm:ss,一周之前2010-09-12 HH:mm:ss
谢谢
我想输出一个PST偏移量的时间戳(例如,2008-11-13T13:23:30-08:00).java.util.SimpleDateFormat似乎没有以小时:分钟格式输出时区偏移,它排除冒号.有一种简单的方法可以在Java中获得时间戳吗?
// I want 2008-11-13T12:23:30-08:00
String timestamp = new SimpleDateFormat("yyyy-MM-dd'T'h:m:ssZ").format(new Date());
System.out.println(timestamp);
// prints "2008-11-13T12:23:30-0800" See the difference?
Run Code Online (Sandbox Code Playgroud)
另外,SimpleDateFormat无法正确解析上面的示例.它扔了一个ParseException.
// Throws a ParseException
new SimpleDateFormat("yyyy-MM-dd'T'h:m:ssZ").parse("2008-11-13T13:23:30-08:00")
Run Code Online (Sandbox Code Playgroud) 我正在制作一个秒表,我正在使用Java的SimpleDateFormat将毫秒数转换成一个漂亮的"hh:mm:ss:SSS"格式.问题是小时字段总是有一些随机数.这是我正在使用的代码:
public static String formatTime(long millis) {
SimpleDateFormat sdf = new SimpleDateFormat("hh:mm:ss.SSS");
String strDate = sdf.format(millis);
return strDate;
}
Run Code Online (Sandbox Code Playgroud)
如果我脱掉hh部分那么它工作正常.否则在hh部分,即使传入的参数(毫秒数)为零,它也会显示随机的内容,如"07".
我对SimpleDateFormat类知之甚少.谢谢你的帮助.
我想比较我的Android应用程序的两个日期,但我有一个非常奇怪的问题.
例如:
如果我将back in the past日期设置为127天前:
this.dateEvent = System.currentTimeMillis() - (127 * 24 * 3600 * 1000)
Run Code Online (Sandbox Code Playgroud)
然后将其与当前日期(天数之间)进行比较
Calendar sDate = getDatePart(new Date(this.dateEvent));
Calendar eDate = getDatePart(new Date(System.currentTimeMillis()));
int daysBetween = 0;
while (sDate.before(eDate))
{
sDate.add(Calendar.DAY_OF_MONTH, 1);
daysBetween ++;
}
while (sDate.after(eDate))
{
eDate.add(Calendar.DAY_OF_MONTH, 1);
daysBetween ++;
}
return daysBetween;
Run Code Online (Sandbox Code Playgroud)
它将返回22,这完全不是预期的.
我做错了什么,或者这是Calendar班级的问题?
如何在当地时间Kotlin获取当前日期(日月和年)和时间(小时,分钟和秒)?
我试过了,LocalDateTime.now()但它给了我一个错误的说法Call requires API Level 26 (curr min is 21).
我怎么能在Kotlin得到时间和约会?
我在网上尝试了不同的方法,但无法使其正常工作.
Cursor cursor = sqlite.myDataBase.rawQuery("SELECT StartDate, EndDate FROM Tracks Where Id="+'"'+trackId+'"',null);
SimpleDateFormat outputFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date startDate = outputFormat.parse(cursor.getString(cursor.getColumnIndex("StartDate")));
Date endDate = outputFormat.parse(cursor.getString(cursor.getColumnIndex("EndDate")));
Run Code Online (Sandbox Code Playgroud)
通过这种方式,我可以获得良好格式的两个日期.现在我想找到之间的差异EndDate,并Startdate在几秒钟.
有什么建议?谢谢.
我有一个日期和时间格式如下:
Tue Apr 23 16:08:28 GMT+05:30 2013
Run Code Online (Sandbox Code Playgroud)
我想转换成毫秒,但实际上我不知道它是哪种格式.任何人都可以帮助我.
我从SAX解析日期字符串如下:Wed,2012年4月18日07:55:29 +0000
现在,我希望这个字符串为:Apr 18,2012 01:25 PM
我怎样才能做到这一点?
一个闰秒会发生在6月30日,2015年不同的操作系统似乎以不同的方式处理这种情况.在我的特定情况下,我们运行的Red Hat 6.4系统具有严重依赖于时间的自定义Java(JDK 1.7)软件.根据最近我发现的一些Red Hat发布的信息,我们系统的NTP守护进程将确保操作系统通过重复23:59:59两次自动处理闰秒.
我的问题是:如果我有一个长期运行的JDK 1.7进程,它是如何知道闰秒发生的?我的意思是,Java最终如何知道IERS人们决定插入闰秒?该日期的文件似乎表明意识到闰秒,但似乎无助地模糊.我可以假设JDK,当Date构造或Calendar.getInstance()调用适当的对象 时,它是否通过底层操作系统的日期时间处理以获得适当的"实际"时间值?(在我的情况下,听起来它会重复第二次23:59:59,因为这就是操作系统将如何处理它).
我需要将从服务器获得的UTC时间戳转换为本地设备时间.目前我的时间差5小时.例如,当我发布到服务器的帖子时间说5小时前而不是一秒钟前.如何解决这个问题.谢谢
以下是我的代码
long timestamp = cursor.getLong(columnIndex);
CharSequence relTime = DateUtils
.getRelativeTimeSpanString(timestamp * 1000
+ TimeZone.getDefault().getRawOffset(),
System.currentTimeMillis(),
DateUtils.MINUTE_IN_MILLIS);
((TextView) view).setText(relTime);
Run Code Online (Sandbox Code Playgroud)