DatePicker include Year - ios

I have dataPicker in my app implemented. But it only shows month,day,hour. How could I able to add year in the date picker. Any idea?

datePicker.datePickerMode = UIDatePickerModeDate;
UIDatePickerModeDate
The date picker displays months, days of the month, and years. The exact order of these items depends on the locale setting. An example
of this mode is [ November | 15 | 2007 ].
Available in iOS 2.0 and later.
Declared in UIDatePicker.h.
http://developer.apple.com/library/ios/#documentation/uikit/reference/UIDatePicker_Class/Reference/UIDatePicker.html
Also you can change from storyboard set Mode: (Refer to screenshot)

If you want to add month, date, year as well as time, add one picker that implements the dates only using (UIDatePickerModeDate) and an additional one for the time (UIDatePickerModeTime).

Related

UIDatePicker locale day

I writing an app in Xamarin.iOS but an answer in native will suffice. I want to localize my date picker so that it shows the picker in French. So far I did this:
Locale = new NSLocale("fr-CA");
It shows the month in French, but not the days of the week. Here is an image of the result:
How can I change the days of the week (SUN, MON, etc) to French?
In the bellow code language of the days of week will be changed according to the user preferences:
let datePicker = UIDatePicker()
datePicker.locale = .autoupdatingCurrent

Knowing if the user wants the week to begin on a Sunday or Monday

There is a calendar setting in iOS that allows the user to change on what day the week-based calendar begins. I display a calendar in my app and want to be able to leverage this setting so the layout of my weekday columns matches those of the first party Calendar app.
Is there a way to do this? I've tried tapping the .firstWeekday property of NSCalendar but it always returns 1, regardless of setting.
Change your phone's region and try this:
let firstWeekday = Locale.current.calendar.firstWeekday
print(firstWeekday)
The console prints 1 when the region is en_US and 2 for en_FR (France), which correspond to Sunday and Monday respectively.

Is it possible to set UIDatePicker to only days (exclude hours, minutes and seconds)?

I'm trying to have a UIDatePicker to present only the date, month and year to the user. I want to avoid presenting them with the hours, minutes and seconds like it comes by default. I've tried looking for something that might help but can only find solutions that aren't explained clearly in Objective-C, however I'm coding in Swift. Any ideas? Thanks in advance!
you need to chose the mode of the date picker
#IBOutlet weak var myDatePicker: UIDatePicker!
override func viewDidLoad() {
super.viewDidLoad()
myDatePicker.datePickerMode = .date // or .Date (Swift 2.x)
}
date picker options .
Declaration SWIFT
var datePickerMode: UIDatePickerMode
Discussion The
value of this property indicates the mode of a date picker. It
determines whether the date picker allows selection of a date, a time,
both date and time, or a countdown time. The default mode is
UIDatePickerModeDateAndTime. See Date Picker Mode for a list of mode
constants.
UIDatePickerMode
The mode of the date picker.
Declaration Constants
Time
The date picker displays hours, minutes, and (optionally) an AM/PM designation. The exact items shown and their order depend upon the locale set. An example of this mode is [ 6 | 53 | PM ].
Available in iOS 2.0 and later.
Date
The date picker displays months, days of the month, and years. The exact order of these items depends on the locale setting. An example of this mode is [ November | 15 | 2007 ].
Available in iOS 2.0 and later.
DateAndTime
The date picker displays dates (as unified day of the week, month, and day of the month values) plus hours, minutes, and (optionally) an AM/PM designation. The exact order and format of these items depends on the locale set. An example of this mode is [ Wed Nov 15 | 6 | 53 | PM ].
Available in iOS 2.0 and later.
CountDownTimer
The date picker displays hour and minute values, for example [ 1 | 53 ]. The application must set a timer to fire at the proper interval and set the date picker as the seconds tick down.
Available in iOS 2.0 and later.
If you're using storyboards just change mode to "date" in the Attributes inspector.
YourPickerView.datePickerMode=UIDatePickerModeDate;

IOS 7+ Custom DateTimePicker Time Range

I wonder if there is a way to custom a datepicker's time range?
How can I remove minute column and leave only 9 and 5 in hour column? is that possible?
Maybe you should considere to use this cocoapod:
https://www.cocoacontrols.com/controls/dvdatepickertableviewcell
or this webpage:
http://blog.deeplink.me/post/81386967477/how-to-easily-customize-uidatepicker-for-ios
and try to custom it as you want.
For UIDatepicker it is not possible to remove the minutes column or only to show 9 and 5 hour in hour column.
UIDatePickerModeDateAndTime:
The date picker displays dates (as unified day of the week, month, and day of the month values) plus hours, minutes, and (optionally) an AM/PM designation. The exact order and format of these items depends on the locale set. An example of this mode is [ Wed Nov 15 | 6 | 53 | PM ].
You need to use custom datepicker for that,you may consider to look at this link for custom picker https://github.com/mwermuth/MWDatePicker
for MWDatePicker first date were invisible but changing the font color like this [datePicker setFontColor:[UIColor blueColor]]; in viewdidLoad in MWViewController.m make them visible.And then modifying the method fillWithCalendar in MWDatePicker.m like this
- (void)fillWithCalendar{
minutes = #[#""];
hours = #[#"05",#"09"];
////others coding
}
i think would give you desired output.

I need an UIPickerView or UIDatePicker whit a specific dateFormat

I need a UIDatePicker or UIPickerView with the following date format:
yyyy-MM-dd HH-mm
Do I have to create it ? or is there some pickerStyle or pickerMode that implements it?
You can do this simply by using a UIDatePicker and then set the pickerMode for it. Since, you need both Date as well as Time, all you have to do is set the mode to UIDatePickerModeDateAndTime
UIDatePicker *datePicker;
timePick.datePickerMode =UIDatePickerModeDateAndTime;
The following is provided in the Apple documentation for the above mode-
The date picker displays dates (as unified day of the week, month, and
day of the month values) plus hours, minutes, and (optionally) an
AM/PM designation. The exact order and format of these items depends
on the locale set. An example of this mode is [ Wed Nov 15 | 6 | 53 | PM ].
EDIT:
In your case, I think the only option you have is to implement two UIDatePickers, one with mode set as UIDatePickerModeDate and another with UIDatePickerModeTime. Then, you can concat them both into an NSDate.
Hope this helps!!

Resources