我有一个日期2014-10-01 00:00:00.0我必须转换成10/01.2014我怎么样?
我想在Java中将String转换为Date.我写了以下代码:
SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-mm-dd HH:mm:ss.SSSSSS");
Date date = dateformat.parse("2015-07-16 23:59:59.0");
dateformat.format(date);
Run Code Online (Sandbox Code Playgroud)
解析后,我得到以下日期值: Fri Jan 16 23:59:59 IST 2015
我尝试了很多例子,但没有得到适当的解决方案.
提前致谢.
String startDateStr = "2017-02-03"
DateFormat formatter = new SimpleDateFormat("yyyy-MM-DD",Locale.US);
Date date = (Date)formatter.parse(startDateStr);
Run Code Online (Sandbox Code Playgroud)
2017-02-03日期解析为Tue Jan 03 00:00:00 GMT+05:45 2017
我错过了什么?
更新
我需要将一个字符串转换为日期对象,同时保持相同的格式。
这样做的原因是我想利用public boolean after(Date when)方法
我有一个采用该格式的日期:2027-02-14T14:20:00.000
我想从中获取几小时和几分钟,就像在这种情况下:14:20
我试图做这样的事情:
val firstDate = SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US).parse("2027-02-14T14:20:00.000")
val firstTime = SimpleDateFormat("H:mm").format(firstDate)
Run Code Online (Sandbox Code Playgroud)
但我崩溃了 java.text.ParseException: Unparseable date
如何从该字符串中获取小时和分钟?
我正在尝试将 UTC 时间转换为当地时间,包括夏令时。夏季,当地时间(斯德哥尔摩)应该比 UTC 早 2 小时,但当我用 Java 转换它时,它只增加了 1 小时。
public class TimeConverter {
public static void main(String[] args) throws ParseException {
getLocalTime("2:36:10 AM");
}
public static String getLocalTime(String utcTime) throws ParseException {
DateFormat utc = new SimpleDateFormat("hh:mm:ss a");
utc.setTimeZone(TimeZone.getTimeZone("UTC"));
Date date = utc.parse(utcTime);
DateFormat local = new SimpleDateFormat("HH:mm:ss");
local.setTimeZone(TimeZone.getDefault());
System.out.println(utc.getTimeZone());
System.out.println(local.getTimeZone());
System.out.println("UTC TIME\t" + utcTime);
System.out.println("LOCAL TIME\t" + local.format(date));
return local.format(date);
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
sun.util.calendar.ZoneInfo[id="UTC",offset=0,dstSavings=0,useDaylight=false,transitions=0,lastRule=null]
sun.util.calendar.ZoneInfo[id="Europe/Stockholm",offset=3600000,dstSavings=3600000,useDaylight=true,transitions=143,lastRule=java.util.SimpleTimeZone[id=Europe/Stockholm,offset=3600000,dstSavings=3600000,useDaylight=true,startYear=0,startMode=2,startMonth=2,startDay=-1,startDayOfWeek=1,startTime=3600000,startTimeMode=2,endMode=2,endMonth=9,endDay=-1,endDayOfWeek=1,endTime=3600000,endTimeMode=2]]
UTC TIME 2:36:10 AM
LOCAL TIME 03:36:10
Run Code Online (Sandbox Code Playgroud) 我正在尝试将文本格式化为日期。这是我所拥有的:
String pattern = "yyyy.MM.dd";
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
Date d=sdf.parse("12.1.5");
Run Code Online (Sandbox Code Playgroud)
我得到:
java.lang.IllegalArgumentException: 非法模式字符“Y”
这一点。
我也尝试过使用 ParsePosition 以及“2012.01.05”。同样的错误。
如何将此字符串解析为日期?有什么可选的方式吗?我错过了什么?
谢谢,
我正在尝试以下代码,
Calendar signupDate = Calendar.getInstance();
signupDate.set(Calendar.YEAR, 2014);
signupDate.set(Calendar.MONTH, 01);
signupDate.set(Calendar.DAY_OF_MONTH, 01);
Date signupDateTime = signupDate.getTime();
new Object[]{signupDateTime};
Date date = (Date) params[0];
String format = (String) params[1];
try {
SimpleDateFormat sdf = new SimpleDateFormat(format, Locale.ENGLISH);
String expDateStr = (String) sdf.format(date);
System.out.println("Expiration Date: "+expDateStr);
} catch (Throwable t) {
throw new RuntimeException("Could not execute DateToString function for Date:" + params[0] + " with Pattern:" + params[1], t);
}
Run Code Online (Sandbox Code Playgroud)
此程序打印:到期日期:2014-02-32
在调试时,我将Java API中的java.text.DateFormat类扩展到以下函数中,
public final String format(Date date)
{
return format(date, new StringBuffer(), …Run Code Online (Sandbox Code Playgroud) 尝试使用SimpleDateFormat API格式化几个日期
String[] dates={"18-01-2015","9-02-2015","21-03-2015"};
for(String s:dates){
SimpleDateFormat format=new SimpleDateFormat("DD-MM-yyyy");
Date date=format.parse(s);
System.out.println(date);
}
Run Code Online (Sandbox Code Playgroud)
输出:
Sun Jan 18 00:00:00 IST 2015
Fri Jan 09 00:00:00 IST 2015
Wed Jan 21 00:00:00 IST 2015
Run Code Online (Sandbox Code Playgroud)
您可以注意到它显示的所有日期是JAN而不是FEB/MAR.
我在应用程序中显示日期时遇到问题.
我得到时间戳为:
2017-08-02T06:05:30.000Z
但就此而言,实际时间是:
2017:08:02 11:35 AM
但在使用我的代码转换后,它将时间显示为:
上午6:00
如何显示当前时间?
我的代码如下:
private static SimpleDateFormat timestampformat =
new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.mmm'Z'");
private static SimpleDateFormat sdftimeformat = new SimpleDateFormat("HH:mm a");
private static SimpleDateFormat getSdftimeformat() {
return sdftimeformat;
}
public static String timeStampConvertToTime(String time) {
Date date1 = null;
try {
date1 = timestampformat.parse(time);
} catch (ParseException e) {
e.printStackTrace();
}
String formattedTime = getSdftimeformat().format(date1);
return formattedTime;
}
Run Code Online (Sandbox Code Playgroud) 我面临着一些问题解析日期格式dd-m-y与SimpleDateFormat类在Java中.
那么这个日期格式类型(12-oct-14)有任何日期格式化程序吗?
simpledateformat ×10
java ×9
date ×5
android ×3
datetime ×2
string ×2
date-format ×1
date-parsing ×1
kotlin ×1
localtime ×1
timestamp ×1
utc ×1