如何使用 'default' => env('DB_CONNECTION', 'sqlsrv'),
'sqlsrv' => [
'driver' => 'sqlsrv',
'host' => env('DB_HOST', 'WIN-THR4E35I6N6\SQLEXPRESS'),
'database' => env('DB_DATABASE', 'test123'),
'username' => env('DB_USERNAME', 'test123'),
'password' => env('DB_PASSWORD', 'test321'),
'charset' => 'utf8',
'prefix' => '',
],
将日期对象的月份提取为不带前导零的数字?
以下是示例代码:
String.format
如果月份是2月,则此表达式将生成字符串" 02",但我需要生成" 2"。
我必须使用String.format("%tm", new java.util.Date())
。我无法使用其他类中的方法,例如String.format
或DateFormat
。
答案 0 :(得分:1)
是简单日期格式更好
package Test;
import java.text.SimpleDateFormat;
public class DateFromat {
public static void main(String args[])
{
System.out.println(new SimpleDateFormat("M").format(new java.util.Date()));
}
}
答案 1 :(得分:0)
你可以在字符串上做一些逻辑,比如检查第一个char是否为“0”,然后对其余字符串进行子串,或者你可以让它变得非常简单,只需使用Integer类并将字符串解析为类似于以下。
String format = String.format("%tm", new java.util.Date());
int parseInt = Integer.parseInt(format);
System.out.println(parseInt);
format = parseInt + "";
System.out.println(format);
或者如果你更喜欢一个班轮
format = String.valueOf(Integer.parseInt(String.format("%tm", new java.util.Date())));
System.out.println(String.valueOf(format));
答案 2 :(得分:0)
更简洁的方法是使用正则表达式获取2
而不将其转换为可能是额外步骤的数字。
Month, formatted as two digits with leading zeros as necessary, i.e. 01 - 13.
因此遵循以下方法是安全的
String.format("%tm", new java.util.Date()).replaceAll("^0", "")
答案 3 :(得分:0)
您可以尝试这种方式:
System.out.println(Integer.valueOf(String.format("%tm", new java.util.Date())));
答案 4 :(得分:-1)
格式化日期的最佳方法是使用java.text.SimpleDateFormat类。您可以更简单地格式化日期,并且在我看来不需要额外解析或使用正则表达式:
System.out.println(new SimpleDateFormat("M").format(new java.util.Date()));
将打印" 2"如果当前月份是"二月"。
编辑:
由于SimpleDateFormat或其他方法不是一种选择,我建议使用正则表达式:
System.out.println(String.format("%tm", new java.util.Date()).replaceFirst("^0+(?!$)", ""));