在我的测试数据库中,日期以DD/MM/YYYY格式显示.显示我的意思是当你右键单击,在Management Studio中打开表格时,返回的数据以DD/MM/YYYY格式显示.
有趣的是,当我编写T-SQL来检索记录时,我必须输入一个MM/DD/YYYY格式来获取正确的数据.无论如何我可以将它与DD/MM/YYYY格式对齐吗?
现在,我的代码对日期字段进行了以下转换:
convert(varchar, Citation.PublishedOn, 101)
Run Code Online (Sandbox Code Playgroud)
但是,返回的日期类似于03/01/2010.请求是将日期显示为3/1/2010(没有前导零,但是有4位数年份).我查看了http://msdn.microsoft.com/en-us/library/ms187928.aspx,我没有看到任何明确排除前导零的内容.
如何格式化日期以排除前导零?
我有以下代码:
$('#MilestoneStartDate').datepicker({
dateFormat: 'dd M yy'
});
Run Code Online (Sandbox Code Playgroud)
如果您使用鼠标单击弹出窗口中的日期来输入日期但是如果某人键入日期或者将日期粘贴到文本框中并使用与上面不同的格式(例如"1 /"),则一切正常1/2016"),当我有这个代码时:
var startDate = $('#MilestoneStartDate').datepicker("getDate");
Run Code Online (Sandbox Code Playgroud)
startDate变量显示为当前日期(尽管显然1/1/2016不是当前日期)
处理这些情况的最佳方法是什么?我应该阻止人们在日期中键入和粘贴,还是有办法进行格式转换?
jquery datepicker date-format date-formatting jquery-ui-datepicker
我有一个 Material Datepicker,我只想从中获取没有时间戳的日期。由于我的时区是 GMT+2,API 总是收到类似 03.04.2018 22:00:00 UTC 的信息,但我想将日期保存在本地。
我的日期选择器:“2018 年 4 月 11 日星期三 00:00:00 GMT+0200(中欧夏令时)”
<div class="input-group">
<input matInput [matDatepicker]="start" readonly="readonly" class="form-control" formControlName="start" name="start" >
<div class="date__picker__button">
<mat-datepicker-toggle matSuffix [for]="start"></mat-datepicker-toggle>
<mat-datepicker #start [disabled]="!formulationForm.enabled"></mat-datepicker>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
可以在调用 API 之前格式化 datepicker 值,但我希望有更好的解决方案。
我们的应用程序之前定义了默认日期格式,如下DD/MM/YYYY所示config/application.rb:
Date::DATE_FORMATS[:default] = '%d/%m/%Y'
Run Code Online (Sandbox Code Playgroud)
这在 Rails 6.1 中按预期工作,但升级到 Rails 7.0 后,它现在似乎被忽略.to_s:
Loading development environment (Rails 7.0.2.2)
3.0.1 :001 > Date::DATE_FORMATS[:default]
=> "%d/%m/%Y"
3.0.1 :002 > Date.new(2022, 12, 31).to_s
=> "2022-12-31"
3.0.1 :003 > Date.new(2022, 12, 31).to_fs
=> "31/12/2022"
Run Code Online (Sandbox Code Playgroud)
如何.to_s在 Rails 7.0+ 中实现此行为?
当我尝试将字符串解析为日历时,我收到了最奇怪的错误.它似乎弄乱了我用来设置结果日历时间的Date对象.错误非常不一致(或者我看不到任何逻辑).谁能指出我可能做错了什么?
public class caltest{
public static final SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-dd HH:mm:ss.SSS");
public static void main(String[] args) {
String date1 = "1992-03-11 12:00:12.123";
String date2 = "1993-03-11 12:00:12.123";
String date3 = "1994-03-11 12:00:12.123";
String date4 = "1995-03-11 12:00:12.123";
parseStringAsCalendar(date1);
parseStringAsCalendar(date2);
parseStringAsCalendar(date3);
parseStringAsCalendar(date4);
}
public static String calendarToString(Calendar cal) {
return sdf.format(cal.getTime());
}
public static Calendar parseStringAsCalendar(String s) {
Date time = null;
try {
time = sdf.parse(s);
} catch (ParseException e) {
System.out.println("Exception");
e.printStackTrace();
}
System.out.println(time.toString());
GregorianCalendar ret = …Run Code Online (Sandbox Code Playgroud) 不应该String使用特定的格式化DateTimeFormatter进行解析LocalDateTime.parse()吗?
测试
DateTimeFormatter formatter = ISODateTimeFormat.dateTimeNoMillis()
LocalDateTime ldt = new LocalDateTime()
String val = ldt.toString(formatter)
System.out.println(val) //2013-03-26T13:10:46
// parse() throws java.lang.IllegalArgumentException: Invalid format: "2013-03-26T13:10:46" is too short
LocalDateTime nldt = LocalDateTime.parse(val, formatter)
Run Code Online (Sandbox Code Playgroud) Java的SimpleDateFormat类(如此类似"EEE, MMM d, ''yy")中定义的日期时间格式字符串的语法是原始的Java发明,还是基于ICU或CLDR的其他语法定义?
是否有人知道将SimpleDateFormat语法与其他定义进行比较的工作?
对于我的项目,我需要在星期几和1 ... 7值之间建立绝对的数字对应关系.
您可能知道天数和数字之间的关联可能因地区而异,例如德国周一是1,周日是7,而美国周一是2,周日是1.
因此,在搜索解决方案时,我发现以下代码看起来无论区域设置如何都有效,分配星期一= 1 ...星期日= 7:
1 + TRUNC (date) - TRUNC (date, 'IW')
Run Code Online (Sandbox Code Playgroud)
有人可以解释一下它是如何工作的吗?特别是我无法理解这条指令是什么:
TRUNC (date, 'IW')
Run Code Online (Sandbox Code Playgroud)
确切地说.
我有一个只有一种语言的应用程序.我希望在显示自日期以来的时间间隔时强制语言为此.例如"9个月前"只是用特定的语言而不是英语.有没有办法使用DateComponentsFormatter执行此操作,否则我将完成我想要的单位.
func format(duration: TimeInterval) -> String {
UserDefaults.standard.set(["da"], forKey: "AppleLanguages")
UserDefaults.standard.synchronize()
let formatter = DateComponentsFormatter()
formatter.allowedUnits = [.year, .month, .day, .hour, .minute, .second]
formatter.unitsStyle = .short
formatter.includesApproximationPhrase = true
formatter.maximumUnitCount = 1
return formatter.string(from: -duration)!
}
format(duration: self.createdDate.timeIntervalSinceNow)
Run Code Online (Sandbox Code Playgroud)
当语言为en时,这将返回例如"1年".我想用一种特定的语言("yr" - >"år"),这应该与其他允许的单位类似.
当手机设置为应用程序的语言时,它可以工作.
我尝试在创建DateComponentsFormatter之前设置语言,但它仍然以手机设置的语言返回.
编辑插入下面的工作代码
从答案修改后的工作代码:
func format(duration: TimeInterval) -> String {
var calendar = Calendar.current
calendar.locale = Locale(identifier: "da")
let formatter = DateComponentsFormatter()
formatter.calendar = calendar
formatter.allowedUnits = [.year, .month, .day, .hour, .minute, .second]
formatter.unitsStyle = .short
formatter.includesApproximationPhrase = true …Run Code Online (Sandbox Code Playgroud) date-formatting ×10
java ×3
datepicker ×2
sql-server ×2
angular ×1
date ×1
date-format ×1
date-parsing ×1
datetime ×1
ios ×1
jodatime ×1
jquery ×1
oracle ×1
oracle11g ×1
parsing ×1
sql ×1
swift ×1