我试图为日期实现区域设置。但除了中文和韩文外,它的工作正常。对于中文和韩文,'''是来月的。
语言:Groovy,grails 1.3.7
请参阅以下代码
Date from=new Date(params.from)
Date to=new Date(params.to)+1
//params.from and params.to is in english
dateMap.from=from
dateMap.to=to
SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy",locale)
String fromDate
String toDate
fromDate=sdf.format(from)
toDate=sdf.format(to)
println "fromdate :"+fromDate
输出是 fromdate:09 - ?? - 2015
这适用于所有其他语言。
请在下面再看一遍我试过的代码。
locale=new Locale("zh","CN")
SimpleDateFormat dateFormatCN = new SimpleDateFormat("dd-MMM-yyyy", locale);
SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MMM-yyyy");
Date temp = dateFormat.parse("05-Sep-2013");
println "temp :"+temp
String out=dateFormatCN.format(temp);
println "out :"+out
输出: temp:Thu Sep 05 00:00:00 IST 2013 出:05 - ?? - 2013
答案 0 :(得分:0)
这是您的控制台的问题。
我在groovyConsole中尝试了以下内容并且它有效
import java.text.SimpleDateFormat
def params = [to: '05-Sep-2013', from: '05-Sep-2013']
def locale=new Locale("zh","CN")
Date from=new Date(params.from)
Date to=new Date(params.to)+1 //params.from and params.to is in english
SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy",locale)
String fromDate
String toDate
fromDate=sdf.format(from)
toDate=sdf.format(to)
println "fromdate :"+fromDate