我试图SimpleDateFormat像这样使用Android :
String _Date = "2010-09-29 08:45:22"
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
try {
Date date = fmt.parse(_Date);
return fmt.format(date);
}
catch(ParseException pe) {
return "Date";
}
Run Code Online (Sandbox Code Playgroud)
结果很好,我有:2010-09-29
但是,如果我改变SimpleDateFormat到
SimpleDateFormat("dd-MM-yyyy");
Run Code Online (Sandbox Code Playgroud)
问题是我会得到03-03-0035 !!!!
为什么以及如何获得这样的格式dd-MM-yyyy?
我想将date1格式的日期转换为date2格式的日期对象.
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MMMM dd, yyyy");
SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyyMMdd");
Calendar cal = Calendar.getInstance();
cal.set(2012, 8, 21);
Date date = cal.getTime();
Date date1 = simpleDateFormat.parse(date);
Date date2 = simpleDateFormat.parse(date1);
println date1
println date2
Run Code Online (Sandbox Code Playgroud) 我需要在我的项目中从一个时区转换到另一个时区.
我可以从我当前的时区转换到另一个时区,但不能从不同的时区转换到另一个时区.
例如,我在印度,我能够使用Date d=new Date();并将其分配给日历对象并设置时区,从印度转换为美国.
但是,我不能从不同的时区到另一个时区这样做.例如,我在印度,但我无法将时区从美国转换到英国.
我有时间跨度:
String time1 = 01:00:00
String time2 = 05:00:00
我想检查time1和time2是否介于两者之间20:11:13 and 14:49:00.
实际上,01:00:00大于20:11:13和小于14:49:00考虑20:11:13总是小于14:49:00.这是先决条件.
所以我想要的是,20:11:13 < 01:00:00 < 14:49:00.
所以我需要这样的东西:
public void getTimeSpans()
{
boolean firstTime = false, secondTime = false;
if(time1 > "20:11:13" && time1 < "14:49:00")
{
firstTime = true;
}
if(time2 > "20:11:13" && time2 < "14:49:00")
{
secondTime = true;
}
}
Run Code Online (Sandbox Code Playgroud)
我知道这个代码没有给出正确的结果,因为我正在比较字符串对象.
怎么做,因为他们是时间跨度而不是比较的字符串?
您将如何重写下面的方法,该方法将返回下个月的第一天,org.joda.time包装在Joda-Time中?
public static Date firstDayOfNextMonth() {
Calendar nowCal = Calendar.getInstance();
int month = nowCal.get(Calendar.MONTH) + 1;
int year = nowCal.get(Calendar.YEAR);
Calendar cal = Calendar.getInstance();
cal.clear();
cal.set(Calendar.YEAR, year);
cal.set(Calendar.MONTH, month);
cal.set(Calendar.DAY_OF_MONTH, 1);
Date dueDate = new Date(cal.getTimeInMillis());
return dueDate;
}
Run Code Online (Sandbox Code Playgroud) 我有这样一个日期和时间的字符串:2011-04-15T20:08:18Z.我不太了解日期/时间格式,但我认为,如果我错了,请纠正我,这是它的UTC格式.
我的问题:在Java中,将这种解析为更正常的格式的最简单方法是什么?
在我的应用程序中,我想将给定的CDT格式化24小时字符串转换为CDT格式的12小时字符串,如何将给定的24小时格式字符串转换为12小时格式字符串?
使用此代码:
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = format.parse(dtStart);
return date;
Run Code Online (Sandbox Code Playgroud)
我已经按日期对象转换了字符串日期并获得了价值... ------> Sun Feb 17 07:00:00 GMT 2013 <---------------
现在我想提取日(周日/周一)和月形式在这里任何帮助????
我有...
Date start = new Date()
...
...
...
Date stop = new Date()
Run Code Online (Sandbox Code Playgroud)
我想得到这两个日期之间的年,月,日,小时,分钟和秒.
-
我会改进这个问题.
我只是想把经过的时间作为一个绝对的衡量标准,不考虑闰年,每个月的日子等.
因此,我认为过去几年和几个月都是不可能的,我能得到的只是天,小时,分钟和秒.
更具体地说,我想告诉某个任务持续了例如
20 sec
13 min, 4 sec
2 h, 10 min, 2 sec
4 d, 4 h, 2 min, 2 sec
Run Code Online (Sandbox Code Playgroud)
所以请原谅我缺乏精确性.
如何在此之前的一周内以这种格式在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
谢谢