您好!以下是Java JDK 7中使用SimpleDateFormat格式化日期和时间的示例代码:
import java.text.SimpleDateFormat; import java.util.Date; public class Example { public static void main(String[] args) { SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date now = new Date(); String formattedDate = dateFormat.format(now); System.out.println("Formatted date and time: " + formattedDate); } }
在上面的示例中,我们使用了SimpleDateFormat类来格式化当前日期和时间。构造函数中的参数是格式化日期和时间所需的模式字符串,其中yyyy代表四位数的年份,MM代表两位数的月份,dd代表两位数的日期,HH代表24小时制下的小时数,mm代表分钟数,ss代表秒数。
SimpleDateFormat
在format()方法中,我们传入一个Date对象,该对象包含当前日期和时间的信息。该方法将返回格式化后的日期和时间的字符串。
format()
Date
最后,我们将格式化后的日期和时间打印到控制台上。如果您希望在其他地方使用该字符串,可以将其存储在一个变量中。
以下是一些常见的日期和时间格式化模式字符串:
yyyy
yy
MM
MMM
MMMM
dd
EEE
EEEE
HH
hh
a
mm
ss
S
注意,日期和时间格式化模式字符串是区分大小写的。您可以根据自己的需要自由组合这些格式化模式字符串。另外,SimpleDateFormat类还支持一些特殊字符,例如'、"、\等,用于转义特殊字符或添加固定文本。详细的信息可以参考Java官方文档。
'
"
\
以下是一些使用SimpleDateFormat类格式化日期和时间的示例:
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date now = new Date(); String formattedDate = dateFormat.format(now); System.out.println(formattedDate);
输出结果可能类似于:2023-05-10 14:30:25。
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy"); Date date = new Date(1234567890000L); // 2009-02-14 02:31:30 String formattedDate = dateFormat.format(date); System.out.println(formattedDate);
输出结果可能类似于:14/02/2009。
SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss a"); Date now = new Date(); String formattedDate = dateFormat.format(now); System.out.println(formattedDate);
输出结果可能类似于:02:30:25 下午。
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"); dateFormat.setTimeZone(TimeZone.getTimeZone("UTC")); // 设置时区为UTC Date now = new Date(); String formattedDate = dateFormat.format(now); System.out.println(formattedDate);
输出结果可能类似于:2023-05-10T06:30:25.123Z。
这些示例仅供参考,您可以根据自己的需要调整格式化模式字符串和日期时间值。
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); String dateString = "2023-05-10"; try { Date date = dateFormat.parse(dateString); System.out.println(date); } catch (ParseException e) { e.printStackTrace(); }
输出结果可能类似于:Mon May 10 00:00:00 CST 2023。
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String dateTimeString = "2023-05-10 14:30:25"; try { Date dateTime = dateFormat.parse(dateTimeString); System.out.println(dateTime); } catch (ParseException e) { e.printStackTrace(); }
输出结果可能类似于:Mon May 10 14:30:25 CST 2023。
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); dateFormat.setTimeZone(TimeZone.getTimeZone("America/New_York")); // 设置时区为纽约 Date dateTime = new Date(); String formattedDateTime = dateFormat.format(dateTime); System.out.println(formattedDateTime);
输出结果可能类似于:2023-05-10 02:30:25。
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); dateFormat.setTimeZone(TimeZone.getTimeZone("America/New_York")); // 设置目标时区为纽约 String dateTimeString = "2023-05-10 14:30:25"; dateFormat.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai")); // 设置源时区为上海 try { Date dateTime = dateFormat.parse(dateTimeString); dateFormat.setTimeZone(TimeZone.getTimeZone("America/New_York")); // 设置时区为纽约 String formattedDateTime = dateFormat.format(dateTime); System.out.println(formattedDateTime); } catch (ParseException e) { e.printStackTrace(); }
这些示例展示了SimpleDateFormat类在日期时间格式化和解析方面的基本用法,您可以根据需要进一步探索这个类的其他方法和特性。
DecimalFormat decimalFormat = new DecimalFormat("#,##0.00"); double number = 1234567.89; String formattedNumber = decimalFormat.format(number); System.out.println(formattedNumber); NumberFormat currencyFormat = NumberFormat.getCurrencyInstance(Locale.US); double amount = 1234.56; String formattedAmount = currencyFormat.format(amount); System.out.println(formattedAmount);
输出结果可能类似于:1,234,567.89 和 $1,234.56。
DecimalFormat decimalFormat = new DecimalFormat("#,##0.00"); String numberString = "1,234,567.89"; try { double number = decimalFormat.parse(numberString).doubleValue(); System.out.println(number); } catch (ParseException e) { e.printStackTrace(); } NumberFormat currencyFormat = NumberFormat.getCurrencyInstance(Locale.US); String amountString = "$1,234.56"; try { double amount = currencyFormat.parse(amountString).doubleValue(); System.out.println(amount); } catch (ParseException e) { e.printStackTrace(); }
输出结果可能类似于:1234567.89 和 1234.56。
这些示例展示了SimpleDateFormat类在数字和货币格式化和解析方面的基本用法,您可以根据需要进一步探索这个类的其他方法和特性。
Date date = new Date(); String pattern = "dd MMM yyyy HH:mm:ss zzz"; SimpleDateFormat dateFormat = new SimpleDateFormat(pattern, Locale.US); String formattedDate = dateFormat.format(date); System.out.println(formattedDate);
输出结果可能类似于:10 May 2023 09:26:42 CST。
Date date = new Date(); int style = DateFormat.FULL; DateFormat dateFormat = DateFormat.getDateTimeInstance(style, style, Locale.CHINA); String formattedDateTime = dateFormat.format(date); System.out.println(formattedDateTime);
输出结果可能类似于:2023年5月10日 星期三 下午09时33分28秒。
String dateTimeString = "2023-05-10T14:30:25.000Z"; String pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"; SimpleDateFormat dateFormat = new SimpleDateFormat(pattern); dateFormat.setLenient(false); // 设置为非宽松模式,避免解析错误的日期时间 try { Date dateTime = dateFormat.parse(dateTimeString.replaceAll("[^\\d.]", "")); System.out.println(dateTime); } catch (ParseException e) { e.printStackTrace(); }
输出结果可能类似于:Mon May 10 22:30:25 CST 2023。
这些示例展示了SimpleDateFormat类在日期时间格式化和解析方面的一些高级用法,包括自定义格式、本地化格式、宽松解析等。在实际应用中,您可以根据需要选择适合自己的方式来使用这个类。
Date date = new Date(); String pattern = "yyyy-MM-dd HH:mm:ss Z"; SimpleDateFormat dateFormat = new SimpleDateFormat(pattern, Locale.US); dateFormat.setTimeZone(TimeZone.getTimeZone("GMT+8")); // 设置为东八区 String formattedDate = dateFormat.format(date); System.out.println(formattedDate);
输出结果可能类似于:2023-05-10 10:08:05 +0800。
String dateString = "20230510"; String pattern = "yyyyMMdd"; SimpleDateFormat dateFormat = new SimpleDateFormat(pattern, Locale.US); try { Date date = dateFormat.parse(dateString); System.out.println(date); } catch (ParseException e) { e.printStackTrace(); } pattern = "MMM d, yyyy"; dateFormat.applyPattern(pattern); String formattedDate = dateFormat.format(new Date()); System.out.println(formattedDate);
输出结果可能类似于:Wed May 10 00:00:00 CST 2023 和 May 10, 2023。
这些示例展示了SimpleDateFormat类的一些自定义规则的用法,包括设置日期格式、解析和格式化日期、修改已有格式等。这些功能可以帮助您在特定的场景下灵活地使用日期格式。
原文链接:codingdict.net