我正在研究 Java。我有一个日期,例如:20120328。
年份是 2012,月份是 03,天是 28。
我想将其转换为yyyy-MM-dd格式。
我已经尝试过了,但它不起作用。
怎么做?
我无法解决这个问题。
我写了这段代码:
public static String getMonthName(int year, int month, int day){
Locale locale = Locale.getDefault();
SimpleDateFormat sdf = new SimpleDateFormat("MMMM",locale);
Date date = new Date();
date.setDate(day);
date.setMonth(month);
date.setYear(year);
return sdf.format(date);
}
Run Code Online (Sandbox Code Playgroud)
它工作得很好,但是当月份 = 1(即二月)时,月份名称是三月而不是二月!为什么?
此代码适用于所有其他日期和月份...
还有另一种方法可以获得翻译的月份名称吗?
请帮我....
我对 javaDate和SimpleDateFormat.
我有一个应用程序,它以GMT格式维护其文件创建时间yearMonthDayHourMinute。目前我在不同的时区(比如IST)。所以我想以GMT格式进行所有处理。
以下片段显示了我如何检索将存储在我的对象中的日期转换为 TimeInMillis。
> 1. SimpleDateFormat valueSDF = new SimpleDateFormat("yyyyMMddHHmm");
> 2. valueSDF.setTimeZone(TimeZone.getTimeZone("GMT"));
> 3. Date date = valueSDF.parse("201212060915");
> 4. System.out.println("date.getTime(): "+ date.getTime()); // returns 1354785300000
> 5. String fileCreationTime= Long.toString((date.getTime()/1000));
> 6. System.out.println("time :: "+ fileCreationTime); // returns 1354785300
Run Code Online (Sandbox Code Playgroud)
以毫秒为单位的时间检索值(第 4 步)具有额外的三个尾随零。我的应用程序需要的是除以 1000 的结果。(第 5 步)
我很想知道,为什么 date.getTime() 会在结果中附加更多的零。堆栈专家,请分享您的建议!
代码如下:
public static void main(String[] args){
Date date = new Date();
DateFormat dateFormat= new SimpleDateFormat("dd-MMM-yyy");
try{
Date formattedDate = dateFormat.parse(date.toString());
System.out.println(formattedDate.toString());
}catch(ParseException parseEx){
parseEx.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,dateFormat.parse(date.toString())抛出无法解析的日期异常:Unparseable date: "Mon Jan 28 18:53:24 IST 2013
我无法弄清楚原因。
为了获得mm/dd/yyyy格式的当前日期,我使用以下代码
SimpleDateFormat sdf = new SimpleDateFormat("mm/dd/yyyy");
Date date = new Date();
String date3= sdf.format(date);
date = sdf.parse(date3);
Run Code Online (Sandbox Code Playgroud)
但每次我打印日期,它都会给我错误的随机输出
产量
Currentd Date:: 49/22/2013
产量
Currentd Date:: 07/22/2013
请建议我应该使用什么来获取当前日期.我使用的Java版本是1.4
我有一个jsp页面,它采用输入类型日期.在servlet中我使用request.getParameter()和SimpleDateFormat来获取用户输入的日期.
我的问题是我只想得到日,月和年但我也得到时间,这意味着当我显示我以这种格式显示的日期时 - 日名:月:月日:时间:年,但我只有想要显示 - 年份:月份:月份日期.
这就是我所做的:
Date startDate=new SimpleDateFormat("yyyy-MM-dd").parse(request.getParameter("startDate")); //get the parameter convert it to a data type Date.
out.println(startDate); //Display the date
Run Code Online (Sandbox Code Playgroud)
这里似乎有什么问题?
感谢您的时间.
我正在尝试将字符串转换为DateTime格式.我的字符串是23 Feb 2014 14:00:48.我想以2011-04-08T12:29:00.000Z格式发送到服务器.
我正在做如下
String str = departetforget.getText().toString();
System.out.println("printing date"+str);
String TIMEZONE_DATE_TIME_FORMAT = "yyyy-MM-dd'T'HH:mm:ssz";
try {
Date date = new SimpleDateFormat(TIMEZONE_DATE_TIME_FORMAT, Locale.US).parse(str);
System.out.println("printing parsed date "+date);
} catch (ParseException e) {
System.out.println("printing date Exception ==> "+e.toString());
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
但我得到解析异常.
我想解析一个约会.当我使用以下日期格式时:
SimpleDateFormat sdf = new SimpleDateFormat("EEEE, MMM d");
Run Code Online (Sandbox Code Playgroud)
随着字符串"星期一,5月19日",做
cal.setTime(sdf.parse(dateString));
Run Code Online (Sandbox Code Playgroud)
以短格式取出星期几,我得到了"星期二"!Cal的一周似乎设置为3.任何想法为什么?它将在5月份推出,每月推出19次,但它希望周二表示星期几,而5月19日肯定是我所在地区的星期一.
我已经编写了这个示例程序,我希望将日期转换为另一种格式.使用简单的日期格式时,我看不到预期的日期.
public class TestDate {
/**
* @param args
*/
public static void main(String[] args) {
SimpleDateFormat originalformat = new SimpleDateFormat("yyyy-MM-dd-HH.mm.ss.SSSSSS");
SimpleDateFormat targetformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSSSS");
try {
//Use Simple Date Format
Date date = originalformat.parse("2015-04-09-17.18.48.677862");
System.out.println("Using SDF "+targetformat.format(date));
//Use Manual Translation
String eventTime = "2015-04-09-17.18.48.677862";
StringBuffer timeBuffer = new StringBuffer();
for (int i = 0; i < eventTime.length(); i++) {
if (i == 10) {
timeBuffer.append(" ");
continue;
} else if (i == 13 || i == 16) …Run Code Online (Sandbox Code Playgroud) 我正在努力使用日期字符串,我需要解析java'Date'对象.这是我到目前为止所得到的:
try {
String value = "2017?-?11?-?23T14:00:49.184000000Z";
String pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSSSSSSS'Z'";
SimpleDateFormat parser = new SimpleDateFormat(pattern);
Date date = parser.parse(value);
} catch (ParseException e) {e.printStackTrace();}
Run Code Online (Sandbox Code Playgroud)
它目前抛出一个ParseException " Unparseable date ",我无法让它工作.
任何帮助都非常感谢!
谢谢