Lotus notes 如何指定月份';Lotusscript格式的s语言(CultureInfo)(现在为“dd/mmm/yyyy”)
这个问题是的LOTUSCRIPT版本 需要说明: 我需要dd/mmm/yyyy格式的字符串日期(例如:“2014年2月28日”)。我不希望这3个字母使用英语(intl),并且不本地客户端中使用的默认区域设置 限制条件:Lotus notes 如何指定月份';Lotusscript格式的s语言(CultureInfo)(现在为“dd/mmm/yyyy”),lotus-notes,lotusscript,date-formatting,regional-settings,Lotus Notes,Lotusscript,Date Formatting,Regional Settings,这个问题是的LOTUSCRIPT版本 需要说明: 我需要dd/mmm/yyyy格式的字符串日期(例如:“2014年2月28日”)。我不希望这3个字母使用英语(intl),并且不本地客户端中使用的默认区域设置 限制条件: 使用的编程语言:LotusNotes中客户端的Lotusscript 我无法更改客户端计算机的区域设置。lotusnotes特有的注册表是痛苦的(比如:) 我想$format不能解决我的问题。我能用什么?我最后的选择是选择案例月(现在)案例1:resu=resu+“一月” 还有
[编辑我以前写的“我不想用英语”应该是“我不想用英语”。LS格式总是返回英语]我相信
格式(现在是“dd-mmm-yyyy”)
会生成英语的月份,但我不是100%确定
如果没有,你可以使用
Day(Now)和“&Mid”(“janfebmarapmayjuljunaugsepoctnovdec”,3*月(Now)-2,3)和“&Year(Now)
”我相信格式(Now,“dd-mmm-yyyy”)
会产生英语月份,但我不是100%确定
如果没有,你可以使用
Day(Now)和“&Mid”(JanFebMarAprMayJulJunAugSepOctNovDec),3*月(Now)-2,3)和“&Year(Now)
我认为没有比在自己的函数中手动构造日期字符串更好的方法了:
Function FormatDate(sourceDate as Variant) As String
Dim months[1 to 12] as String
months[1] = "Jan"
months[2] = "Feb"
months[3] = "Mar"
months[4] = "Apr"
months[5] = "May"
months[6] = "Jun"
months[7] = "Jul"
months[8] = "Aug"
months[9] = "Sep"
months[10] = "Oct"
months[11] = "Nov"
months[12] = "Dec"
Dim monthPart as String
Dim dayPart as String
Dim yearPart as String
dayPart = Format(sourceDate, "dd")
yearPart = Format(sourceDate, "yyyy")
monthPart = months[Month(sourceDate)]
FormatDate = dayPart & " " & monthPart & " " & yearPart
End Function
我认为没有比在自己的函数中手动构造日期字符串更好的方法了:
Function FormatDate(sourceDate as Variant) As String
Dim months[1 to 12] as String
months[1] = "Jan"
months[2] = "Feb"
months[3] = "Mar"
months[4] = "Apr"
months[5] = "May"
months[6] = "Jun"
months[7] = "Jul"
months[8] = "Aug"
months[9] = "Sep"
months[10] = "Oct"
months[11] = "Nov"
months[12] = "Dec"
Dim monthPart as String
Dim dayPart as String
Dim yearPart as String
dayPart = Format(sourceDate, "dd")
yearPart = Format(sourceDate, "yyyy")
monthPart = months[Month(sourceDate)]
FormatDate = dayPart & " " & monthPart & " " & yearPart
End Function
如果您使用的是Windows,则可以使用WinApi函数。对于此函数,您需要创建结构。您还需要使用和主题来设置日期和时间的语言和格式。
下面是一个例子:
”声明
输入系统时间
作为整数的wYear
作为整数的wmmonth
wDayOfWeek作为整数
作为整数的wDay
wHour作为整数
wMinute为整数
秒作为整数
wmill秒为整数
端型
声明函数GetDateFormat Lib“kernel32”别名“GetDateFormatA”(_
只要_
拜瓦尔:只要_
lpDate作为系统时间_
Byval lpFormat作为字符串_
Byval lpDateStr作为字符串_
Byval cchDate As Long)一样长
函数FormatDate(值作为变量,区域设置作为长,formatString作为字符串)作为字符串
将缓冲区设置为字符串,将systemTime设置为systemTime
systemTime.wYear=年(值)
systemTime.wMonth=月份(值)
systemTime.wDay=天(值)
缓冲区=字符串(255,0)
GetDateFormat区域设置&,0,systemTime,formatString$,缓冲区,Len(缓冲区)
FormatDate$=Left$(缓冲区,指令(1,缓冲区,Chr$(0))-1)
端函数
“用法
MessageBox FormatDate(现在,&h40c,“dd-MMM-yyyy”)
“&h40c-是fr区域设置(0x040c)
另一种方法是使用LS2J。为此,可以使用类及其方法。您还需要使用class和class来设置语言和日期。
下面是一个例子:
”声明
Uselsx“*javacon”包括在LotusScript中使用Java对象的代码
函数FormatDate(值作为变量,语言作为字符串,国家作为字符串,formatString作为字符串)作为字符串
Dim javaSession作为新的javaSession
Dim localeClass作为JavaClass
将区域设置设置为JavaObject
将calendarClass设置为JavaClass
将日历设置为JavaObject
Dim dateFormatClass作为JavaClass
Dim dateFormat作为JavaObject
设置localeClass=javaSession.GetClass(“java/util/Locale”)
设置locale=localeClass.CreateObject(((Ljava/lang/String;Ljava/lang/String;)V),语言$,国家$)
Set calendarClass=javaSession.GetClass(“java/util/Calendar”)
Set calendar=calendarClass.GetMethod(“getInstance”,”()Ljava/util/calendar;”).Invoke()
'您需要从月值中减去1
通话日历。设置(年(值)、月(值)-1、日(值))
Set-dateFormatClass=javaSession.GetClass(“java/text/simpleDataFormat”)
Set dateFormat=dateFormatClass.CreateObject(((Ljava/lang/String;Ljava/util/Locale;)V),formatString$,Locale)
FormatDate$=dateFormat.format(calendar.getTime())
端函数
“用法
MessageBox FormatDate(现在是“fr”、“fr”、“dd MMM yyyy”)
在本例中,我使用了获取Locale
对象。您可以从中获取语言代码和国家/地区代码。对于
SimpleDataFormat
对象,我使用了构造函数。如果您使用的是Windows,则可以使用WinApi函数。对于此函数,您需要创建结构。您还需要使用和主题来设置日期和时间的语言和格式。下面是一个例子:
”声明
输入系统时间
作为整数的wYear
作为整数的wmmonth
wDayOfWeek作为整数
作为整数的wDay
wHour作为整数
wMinute为整数
秒作为整数
wmill秒为整数
端型
声明函数GetDateFormat Lib“kernel32”别名“GetDateFormatA”(_
只要_
拜瓦尔:只要_
lpDate作为系统时间_
Byval lpFormat作为字符串_
Byval lpDateStr作为字符串_
Byval cchDate As Long)一样长
函数FormatDate(值作为变量,区域设置作为长,formatString作为字符串)作为字符串
将缓冲区设置为字符串,将systemTime设置为systemTime
systemTime.wYear=年(值)
systemTime.wMonth=月份(值)
systemTime.wDay=天(值)
缓冲区=字符串(255,0)
GetDateFormat区域设置&,0,systemTime,formatString$,缓冲区,Len(缓冲区)
FormatDate$=Left$(缓冲区,指令(1,缓冲区,Chr$(0))-1)
端函数
“用法
MessageBox FormatDate(现在,&h40c,“dd-MMM-yyyy”)
“&h40c-是fr区域设置(0x040c)
另一种方法是使用LS2J。为此,可以使用类及其方法。您还需要使用class和class来设置语言和日期。
下面是一个例子:
”声明
Uselsx“*javacon”包括在LotusScript中使用Java对象的代码
作用