Telerik - RadGrid - Group by formatting - formatting

I was able to get the grouping to work but I need to format the date.
GridGroupByField groupBy = new GridGroupByField();
groupBy.FormatString = "MM/dd/yyyy"; this just displays what is in the string
This is what is displaying in the group header. If I remove the formatting it uses the time and I only need the date.
"By Date / Rev Code: MM/dd/yyyy"
This is w/o formatting:
"By Date / Rev Code: 12/14/2020 12:00:00 AM"
Thanks in advance.
Mark

I'm not an expert with this component, but based on this site https://docs.telerik.com/devtools/aspnet-ajax/controls/grid/functionality/grouping/group-by-expressions/programmatic-definition you could formatting it like this:
GridGroupByField groupBy = new GridGroupByField();
groupBy.FormatString = "{0:MM/dd/yyyy}";

Related

Removing characters from date in visual basic

Im a complete NOOB in VB so please excuse the newbie question
Im running the following code which produces the current system date, as you can see in image below.
Dim cyear As Date
cyear = Date.Now
MsgBox(cyear)
My Question
I'm looking for a way to remove all the characters in the textbox above so that only the highlighted yellow numbers will remain. Which represents the last 2 digits of the current year.
You'll have to use a date format string, e.g.:
Dim value = String.Format("{0:yy}", DateTime.Now)
or
Dim value = DateTime.Now.ToString("yy")
Have a look at Custom Date and Time Format Strings.
Format the date before you output it:
Dim cyear As Date
cyear = Date.Now
Dim yearShort as string = cyear.ToString("yy")
MsgBox(yearShort)
For more formats, read here: http://msdn.microsoft.com/library/8kb3ddd4%28v=vs.110%29.aspx
It's best to simply pass a format to the tostring method.
DateTime.Now.toString("yy")
If that doesn't work...
DateTime.Now.toString("yyyy").Substring(2,2)
http://msdn.microsoft.com/en-us/library/zdtaw1bw(v=vs.110).aspx

how to check linq comparing date format in vb.net

Say I want record of all employees of date "07/03/2013" where format is "MM/dd/yyyy".
my expression in linq will be :
_dbContext.EmployeeDetails.Where(Function(f) f.EmpId = _empId And f.Date="07/03/2013")
here how linq manage the date format as "MM/dd/yyyy". OR how to compare "f.Date" with MM/dd/yyyy ?
Say,
if i does
_dbContext.EmployeeDetails.Where(Function(f) f.EmpId = _empId And f.Date.ToString("MM/dd/yyyy")="07/03/2013")
It does not allow me. suppose my date will "07/13/2013" then we can consider it matches and sync the format with "f.Date" but what about date is under 12 ? In fact by using first expression, m getting march month records, rather July.
How to figure out this issue?
You are comparing string representations of the date/time, which depend on the current system's formatting options. Use a date literal (must be in 'M/d/yyyy') to create a new DateTime object:
_dbContext.EmployeeDetails.Where(Function(f) f.EmpId = _empId And f.Date=#3/7/2013#)
If it's a variable, say dte:
_dbContext.EmployeeDetails.Where(Function(f) f.EmpId = _empId And f.Date=dte)
It should be this:
_dbContext.EmployeeDetails.Where
(Function(f) f.EmpId = _empId And
f.Date.ToString("dd/MM/yyyy")="07/03/2013")
You where passing Month first, so it parses March. Change toString order so you pass days before and then month. (July)

Not able to get month from current date

Am trying to extract month from the current date but in vain. I am using the code:
Format(Today.Date, "mmmm")
However when I try to run it to display month like January it instead displays 00. I thought that this would work but it isn't. What can I do to get the month from current date in vb.net using a simple approach like a single function?
Try This :
DateTime.Today.ToString("MMMM")
Check out This for detailed date formatting options.
try this
MonthName(Now.Date.Month(),true)
msdn: Custom Date and Time Format Strings
Format(Today.Date, "MMMM")
EXTRACT(MONTH FROM NOW()) , getting month of current date

Convert Time to a string format VB.net

I am trying to format a date to a specific string and the code is returning incorect outcome.
CDate(RDate).ToString("ddMMy")
is returning the year as 2 digits is there a way to make it return the correct just last digit ? I know that I could substring to get the result but I would like to use a format string to allow customer to create their own.
Just glue them together with String.Format():
Dim dt = CDate(RDate)
Dim s = String.Format("{0}{1}", dt.ToString("ddMM"), dt.Year Mod 10)
The 'y' just indicates that the leading 0 is to be removed if the year is between 0 and 9. There is no format for just getting the last digit of the year.
See the MSDN documentation for the available custom formats.
The Custom Format year formats are limited to returning a minimum of a 2 digit year except in the situation that Compentent_tech mentions where you are using y and the year is ending with a 00 to 09. you can check out the MSDN Documentation. You will need to use string manipulation to achieve what you want.
Using that fact you can try something like this.
Dim RDate As Date = Now.Date
Dim NDate As Date = New Date((RDate.Year Mod 10), RDate.Month, RDate.Day)
CDate(NDate).ToString("ddMMy")
try this code :
Dim dt As DateTime = DateTime.Now
CDate(dt).ToString("ddMMyy").Remove(4, 1)
this code removes first of 2 digit year value.

Formatting the current date

Either I just can't seem to find the right way to word the problem or it's a lot more complicated than I thought, but what is the easiest way to assign the current date to a variable and format it to a specific format? Basically, I want to do the VB.net equivalent of this VBA line:
formatted_date = Format(Date, "yyyy-m-d")
Thanks!
Dim formattedDate as String = DateTime.Now.ToString("yyyy-M-d")
Note that capital M is for month, lowercase m would get you minutes.
If by "Date" you really mean current date (and not an example variable), the VB.NET Equivalent is "Today"
Do one of these things... (whichever you like):
formatted_date = Today.ToString("yyyy-M-d")
formatted_date = String.Format("{0:yyyy-M-d}", Today)
If your "Date" was just an example variable, just replace "Today" in the above examples with your variable name.
to simply : SomeDate.ToString("yyyy-m-d")
Try this
Dim time As DateTime = DateTime.Now
Dim format As String = "MMM ddd d HH:mm yyyy"
Console.WriteLine(time.ToString(format))