我想在SimpleDateFormat一个日期中插入"at"这个词,如下所示:
2010年5月26日星期三上午11点17分
我可以让它看起来没有at,就像这样
2010年5月26日星期三上午11点17分
通过使用
SimpleDateFormat formatter = new SimpleDateFormat("EEE, d MMM yyyy hh:mma");
Run Code Online (Sandbox Code Playgroud)
如何插入"at"一词?
我正在读日期字符串,可能有或没有时区调整:yyyyMMddHHmmssz或yyyyMMddHHmmss.当一个字符串缺少一个区域时,我将其视为GMT.我没有看到任何方式在a中创建可选部分SimpleDateFormat,但也许我错过了一些东西.有没有办法用a做这个SimpleDateFormat,或者我应该写一个新的具体DateFormat来处理这个?
可能重复:
在android中将时间戳转换为字符串到日期
我的服务器在返回字符串时间戳1322400600,在我的Android应用程序,我需要将其转换像2011年11月27日07:00.我不知道该怎么做才能帮帮我.
- 谢谢AvMishra
解决方案:
我使用以下代码来获得所需的值
long dv = Long.valueOf(timestamp_in_string)*1000;// its need to be in milisecond
Date df = new java.util.Date(dv);
String vv = new SimpleDateFormat("MM dd, yyyy hh:mma").format(df);
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类知之甚少.谢谢你的帮助.
嗨,我有以下字符串:2012-05-20T09:00:00.000Z,我想将其格式化为20/05/2012,9am
如何在java中这样做?
谢谢
我很感激找到这个例外的bug的任何帮助:
java.text.ParseException: Unparseable date: "2007-09-25T15:40:51.0000000Z"
Run Code Online (Sandbox Code Playgroud)
以下代码:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
Date date = sdf.parse(timeValue);
long mills = date.getTime();
this.point.time = String.valueOf(mills);
Run Code Online (Sandbox Code Playgroud)
它抛出了暴力Date date = sdf.parse(timeValue);.
timeValue = "2007-09-25T15:40:51.0000000Z"; ,例如.
谢谢.
我有一个SimpleDateFormat解析String成一个Date:
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ssZ");
Run Code Online (Sandbox Code Playgroud)
当我解析这个时:
format.parse("2011-08-29T12:44:00+0200");
Run Code Online (Sandbox Code Playgroud)
使用时的结果是Date.toLocaleString:
29年8月 2011 00:44:00
这应该是当然的:
29年8月 2011 12:44:00
当我解析这个时:
format.parse("2011-08-29T13:44:00+0200");
Run Code Online (Sandbox Code Playgroud)
然后结果如预期:
29年8月 2011 13:44:00
我怎样才能解决这个问题?
我写了以下代码.我想以UTC格式获取Date对象.
我可以使用UTC获得预期的日期字符串SimpleDateFormat.但是使用相同的SimpleDateFormat对象,我无法以UTC格式获取对象.它以IST格式返回对象.
搜索后,我发现Date对象不存储时间戳信息.
如何以UTC格式获取日期对象?
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;
public class dddd {
/**
* @param args
*/
public static void main(String[] args) {
System.out.println("Input - "+1393572325000L);
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
formatter.setTimeZone(TimeZone.getTimeZone("UTC"));
Date date= new Date(1393572325000L);
String dateString = formatter.format(date);
System.out.println("Converted UTC TIME (using Format method) : "+dateString);
Date date2 =null;
try {
date2 = formatter.parse(dateString);
} catch (ParseException e) {
e.printStackTrace();
}
System.out.println("Parsed Date Object (using Parse method) …Run Code Online (Sandbox Code Playgroud) 我试图解析W3C XML Schema日期,如下所示
"2012-05-15T07:08:09+03:00"
Run Code Online (Sandbox Code Playgroud)
它符合W3C XML Schema dateTime规范的ISO 8601版本.
在上述日期中,时区标识符是"+03:00",但SimpleDateFormat显然不存在表示它的模式.
如果时区是"+0300",那么Z(大写)将是适用的并且SimpleDateFormat模式将是
yyyy-MM-dd'T'HH:mm:ssZ
Run Code Online (Sandbox Code Playgroud)
类似地,如果时区是"GMT+03:00",那么z(小写)将是适用的并且SimpleDateFormat模式将是
yyyy-MM-dd'T'HH:mm:ssz
Run Code Online (Sandbox Code Playgroud)
('Z'顺便说一句,大写也适用).
那么,是否有一种SimpleDateFormat模式或解决方法来表示上述日期而无需预处理日期字符串?
2012年12月1日00:00:00 GMT
我必须将上述日期转换为以下格式
2012年12月1日
我怎么能够?
我试过以下方法,但它没有工作
public Date ConvertDate(Date date){
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
String s = df.format(date);
String result = s;
try {
date=df.parse(result);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return date;
}
Run Code Online (Sandbox Code Playgroud) simpledateformat ×10
java ×9
datetime ×4
date ×3
android ×2
exception ×1
iso8601 ×1
localization ×1
parsing ×1
time ×1