之前我发布了以下问题:如何在Java中转换此日期?
但现在我想知道如何将此字符串转换为日期/时间.
2010-03-15T16:34:46Z
Run Code Online (Sandbox Code Playgroud)
例如:03/15/10
更新:
String pattern = "MM/dd/yy 'at' HH:mm";
Date date = new Date();
try {
date = new SimpleDateFormat(pattern).parse(q.getUpdated_at());
} catch (ParseException e) {
e.printStackTrace();
}
dateText.setText(new SimpleDateFormat("MM/dd/yy 'at' hh:mma").format(date));
Run Code Online (Sandbox Code Playgroud)
给我一个结果,如:
Mon Mar 15 16:34:50 MST 2010
Run Code Online (Sandbox Code Playgroud)
我该如何格式化呢
03/15/10 at 4:34PM
Run Code Online (Sandbox Code Playgroud)
?
我真的需要SimpleDateFormat的替代品,我正在将许多Strig日期(> 100k)从JST转换为GMT.我遇到的问题是我的代码生成了许多char [],正如我在分析时注意到的那样.对于150k日期,我使用了150MB的内存,这不是一个真正的选择.谢谢.
SimpleDateFormat sdf = new SimpleDateFormat(dateFormat);
sdf.setTimeZone(tz);
try {
Date theResult = sdf.parse(dateToConvert);
SimpleDateFormat rdf = new SimpleDateFormat(resultDateFormat);
rdf.setTimeZone(resultTz);
return rdf.format(theResult);
} catch (ParseException e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
我不能使用Joda时间,所以这对我来说不是一个选择.:(
我有一个格式的jspinner yyyy-MM-dd hh:mm:ss.问题是微调器'hh'只能达到'12'的值.我该怎么做才能达到24小时?
我有一个Web应用程序,如果客户端(在英国时区UTC + 0000)我发送日期参数作为字符串,如下所示:
date = "2012-03-28 10:00:00 +0000" // this is meant to say "This is the date and time BST which is +0000 offset from UTC"
Run Code Online (Sandbox Code Playgroud)
但是当我在我的Java REST服务中收到这个字符串并尝试使用SimpleDateFormater将其解析为日期对象时,它假定我说的是:"这是UTC时间10:00,我位于UTC + 0000时区"因此它将其定位为UTC时间上午10:00而不是UTC时间上午9:00,这是从BST上午10:00(即+0000)开始的正确对话.
这是我的示例java代码:
String dateString = "2012-03-28 10:00:00 +0000";
Timestamp timestamp= null;
try{
DateFormat planningDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z");
Date date = planningDateFormat.parse(dateString);
timestamp = new Timestamp(date.getTime());
System.out.println("Time stamp value is: " + timestamp.getTime());
System.out.println("Date value after parse: " + date);
System.out.println("Time value passed in was: " + dateString);
} …Run Code Online (Sandbox Code Playgroud) 我面临着一个我以前从未见过的奇怪问题.我有一个以毫秒为单位的日期,并希望将其显示为可读日期.这是我的代码:
if (validUntil == 0) {
return activity.getResources().getString(R.string.forever);
} else {
Date startDate = new Date(validFrom);
Date endDate = new Date(validUntil);
if (startDate.compareTo(endDate) < 0) {
String date = sdf.format(startDate) + " - " + sdf.format(endDate);
return date;
} else if (startDate.compareTo(endDate) == 0) {
return activity.getResources().getString(R.string.forever);
}
}
Run Code Online (Sandbox Code Playgroud)
如您所见,我只想创建一个显示时间跨度的字符串.当我调试到我的代码时,日期对象包含正确的值,同时sdf.format(...)给我一个无效的日期.
例:
startdate 以毫秒为单位: 1375017555000startdate 对象包含: Sun Jul 28 15:19:15 CEST 2013sdf.format(startDate) 收益: 28.19.2013我得到了结束日期的结果.
我究竟做错了什么?
我想计算日期之间的时间差异:
public static void main(String args[])
{
String start = "2013-03-10 10:28:47.000000";
String end = "2013-04-07 09:54:08.054577";
CalculateDuration calc = new CalculateDuration();
calc.calculateDiffrenceInMinutes(start,end);
}
public int calculateDiffrenceInMinutes(String start_time, String end_time)
{
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date d1 = null;
Date d2 = null;
try {
d1 = format.parse(start_time);
d2 = format.parse(end_time);
} catch (ParseException e) {
e.printStackTrace();
}
// Get msec from each, and subtract.
int diff = (int) d2.getTime() - (int)d1.getTime();
int diffSeconds = (int) (diff / …Run Code Online (Sandbox Code Playgroud) 我想获得这样的格式:
2013-06-15-17-45
Run Code Online (Sandbox Code Playgroud)
我在我的代码中执行以下操作:
Date d = new Date();
SimpleDateFormat ft = new SimpleDateFormat ("YYYY_MM_DD_HH_mm");
String fileName = "D:\\"+ft.format(d)+".csv";
Run Code Online (Sandbox Code Playgroud)
但我没有让DD正确.它创建一个名称如下的文件:
D:\\2013_12_340_13_53.csv
Run Code Online (Sandbox Code Playgroud) 我正在从纪元时间(UTC时间)转换为如下所示的格式。现在,我尝试了不同的答案SO转换UTCDate从UTC本地时间。但是我没有当地时间。
任何帮助,将不胜感激。
String epochTime = "1436831775043";
Date UTCDate = new Date(Long.parseLong(epochTime));
Date localDate; // How to get this?
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("h:mm a");
String result = simpleDateFormat.format(UTCDate);
Run Code Online (Sandbox Code Playgroud)
另外,转换必须在没有任何外部库帮助的情况下完成。
我需要在这一行添加一些内容:
String date = new SimpleDateFormat("dd-MMM-yy hh.mm.ss").format(new Date()).toUpperCase();
Run Code Online (Sandbox Code Playgroud)
因为我需要时间来自UTC,而不是来自我当前的位置.请你帮助我好吗?
我正在使用SimpleDateFormat类来获取这样的当前年份
SimpleDateFormat currentYear = new SimpleDateFormat("YYYY");
Date thisYear = new Date();
String stringThisYear = currentYear .format(thisYear );
Run Code Online (Sandbox Code Playgroud)
它在这里(印度)工作正常,但是在其他人在马来西亚运行时崩溃了。经过大量调试和搜索,我发现由于没有提及语言环境而发生了问题,因此我将代码更改为此
SimpleDateFormat currentDate = new SimpleDateFormat("YYYY", Locale.ENGLISH);
Run Code Online (Sandbox Code Playgroud)
仍然很崩溃,所以我使用日历实例来获取这样的当前年份
int thisYear=Calendar.getInstance().get(Calendar.YEAR);
Run Code Online (Sandbox Code Playgroud)
但是我想知道simpleDateFormat是什么问题,因为我的大多数代码已经具有simpleDateFormat类。所以我想知道崩溃的原因,如果有人有解决方案,请帮助我。谢谢