我在项目中使用本机Datetime和Noda Time库LocalDate。 LocalDate主要用于计算,而Datetime用于其他地方。
有人可以给我一个简单的方法来转换本地和nodatime日期字段吗?
我目前正在使用以下方法将Datetime字段转换为Noda LocalDate。
LocalDate endDate = new LocalDate(startDate.Year, startDate.Month, startDate.Day);
答案 0 :(得分:16)
最简单的方法是将DateTime
转换为LocalDateTime
并转换Date
部分:
var date = LocalDateTime.FromDateTime(dateTime).Date;
我希望从DateTime
获得年,月,日的效率更高。 (这对你来说是否重要是另一回事。)
在Noda Time 2.0中,DateTime
上有一个扩展方法,您可以使用:
using static NodaTime.Extensions.DateTimeExtensions;
...
var date = dateTime.ToLocalDateTime().Date;
对于相反的方向,我再次通过LocalDateTime
:
var dateTime = date.AtMidnight().ToDateTimeUnspecified();
答案 1 :(得分:6)
NodaTime API的开发者尚未公开从@Directive({
selector: '[selectable]'
})
export class SelectableDirective{
private el: HTMLElement;
@Input('selectable') option:any;
@Input('params') params;
...
}
到<li *ngFor = 'let opt of currentQuestion.options'
[selectable] = 'opt'
[params]='{firstParam: 1, seconParam: 2, thirdParam: 3}'
(selectedOption) = 'onOptionSelection($event)'>
{{opt.option}}
</li>
的转换。但是,您可以自己创建一个扩展方法,并在任何地方使用它作为简写:
DateTime
用法:
LocalDate