best way to collect birthdays in google forms - user-experience

I need to collect birth dates in a Google Form. In my first iteration I chose to format the question as a date, but the form pre-filled the year with 2017, which many users did not notice - ultimately causing yours truly extra work hunting chasing bad data. I took a survey from Google and they made the birth date three separate fields. What's the best way to collect a birth date?

For birthdays (when you are going years back) the best way is to go as an inverted pyramid: First year, then month, lastly day.
UX-wise, for birth dates, it is better to use a <select> for each string (year, month, date) rather than using an <input type="date">

Related

Excel convert DOB to DOB-related expiration date

I have various peoples' DOBs. I want to convert them to a format that will serve as their predicted-but-incomplete NY Driver's License expiration date (which is always the person's DOB in some later year). Because (for now) all of the license expiration dates will be sometime before 2030, I would like to essentially chop off the year portion of the DOBs and replace them with "202_" (or if that's not feasible then just "202").
I know how to get Excel to display the DOB without the year, but that isn't helping me so far. My hope had been to use CONCAT to start with that truncated display and then just add "202_" but the date format of the truncated DOB is tripping me up. If I could get Excel to treat the truncated/display DOB as text without Excel converting it to its number version of the whole DOB then that would seem to solve the problem... Or maybe there's another approach I haven't thought of yet?
You can use following formula:
=TEXT(A1,"dd.MM.") & "202_"
Change date format "dd.MM" as you need

SharePoint Calendar Calculate Number of Days (hours) Off

I have a calendar on SharePoint online that I'm trying to use to track the amount of leave time employees use. Currently I'm capturing the number of hours daily that the employees are using a field on the event, but I would like to calculate the number of workdays in each event so that I can find out the total number of hours used by a given person.
I already assume I'm going to need another field to capture this, but how would I perform the calculation?
Below formula used to calculate working days, hope this helps.
=(DATEDIF([Start Date],[Due Date],"D"))-INT(DATEDIF([Start Date],[Due Date],"D")/7)*2-IF((WEEKDAY([Due Date])-WEEKDAY([Start Date]))<0,2,0)+1
To get the working days from event item between the 'from' and 'to' columns You can use the following formula:
=IF(ISERROR(DATEDIF(From,To,"d")),"",(DATEDIF(From,To,"d"))+1-INT(DATEDIF(From,To,"d")/7)*2-IF((WEEKDAY(To)-WEEKDAY(From))0),1,0)-IF(AND(NOT(WEEKDAY(From)=7),WEEKDAY(To)=7),1,0))

Applying formula on saved search columns

We are trying to generate a report to find out turn around time (TAT) of our deliveries of orders, categorize them in different buckets like 0-5 days, 5-8 days, etc.
I am able to get the count of orders delivered within these buckets using the saved search formula (numeric) with summary type as sum:
Example:
case when trunc ({custbody_dlight_kspdeliverydate})-{trandate} between 0 and 5 then {quantity} else 0 end
Now, I also want to get percentage of orders delivered in each bucket. How can I get that?
Secondly, I also want to consider holidays while doing this TAT calculation. currently, delivery date - trandate will give me calendar dates only. If there is a weekend in between or a declared holiday, the result should be able to consider that. Please suggest.
Since you have a delivery date one way to get the number of business days between two dates would be to add another custom field and use a User Event script to update the TAT into that field.
This would let you use a calendar aware script that could manage not only weekends but also any statutory holidays.
I have a couple of SS1.0 examples of date calc scripts in the repo at https://github.com/BKnights/KotN-Netsuite that you could use as samples.

Sharepoint 2007 date time in a list

We are using a custom list on Sharepoint where we require users to enter data with a date and time field. We have been facing huge issues in data validity when generating reports due to this field. Following are the kinds of mistakes:
Selecting AM instead of PM or vice verse. Changing to 24 hrs format doesn't help much because then the users select (as an example) 02:00 instead of 14:00 for 02:00PM.
There are errors regarding formats of dates, hence some entries have dates from the future or the past.
As the reports are generated each week, the list needs to be populated by the end of the week. If the month has changed between the week, people forget to change the month in the calendar and the entries are of the last week of the current month instead of the last week of the previous month.
Are there ways to configure the list(Pref. without programming) so that:
A. Only working hours are available in the time related dropdown.
B. Dates from the future are not allowed( Or not available)
Any help would be appreciated.
As far as I know, you won't be able to satisfy these requirements with no custom code.
If you decide to go down the coding path, what you need to do is create a custom field type. Let me know of you need help on this.

How should I store old dates in SharePoint?

I need to store dates in SharePoint that need to go back around 5000 BC. Ideally, I would like to be able to do date addition/subtraction, like this:
oldDate = '5000 BC';
newDate = '1995 AD';
DateDiff(oldDate, newDate, 'Years'); // equals 6995
How should I proceed? Build an old_date class based on strings? Just use regular dates, but add an AD or BC that makes the date negative?
This is a seriously non-trivial problem, and really depends on what exactly you want to do with those dates. For example, we've only used the current (Gregorian) calendar since 1582. Before that it was the Julian calendar, and before that an old Roman calendar. To make matters worse, this info is really only for Western Europe (and culturally-related areas). So if you are hoping to have someting that will give you proper accepted dates for historical events with a little simple math, you are in for a big dissappointment.
If you just want to carry the Gregorian calendar backwards, I suppose that's doable. However, there still is error, and on that scale it matters. From Wikipedia:
On timescales of thousands of years,
the Gregorian calendar falls behind
the seasons because the slowing down
of the Earth's rotation makes each day
slightly longer over time (see tidal
acceleration and leap second) while
the year maintains a more uniform
duration
If you are interested only in years and not in days then you could build a custom field with custom editor and store the year value as integer value.
Values less than zero mean BC and values higher or equal that zero mean AD.
I ended up storing dates as a text field in ISO 8601 format:
YYYY-MM-DDThh:mm:ss.sTZD
You don't have to store the entire string, for instance if you wanted to store 5000 BC, you would enter -5000-01-01. I don't get my date addition and subtraction very easily, but it was much easier to get the data in there in the format I wanted.

Resources