Android Code Snippet Set Date and Time of Device (root needed)

B4X:
Sub SetDateTime(ToDate As String, ToTime As String)
    'date needs to be in yyyymmdd format
    'time needs to be in hhmmss 24-hour
    'date -s 20120419.024012; \n
   
    Dim Command, Runner As String
    Dim StdOut, StdErr As StringBuilder
    Dim Result As Int
    Dim Ph As Phone
   
    StdOut.Initialize
    StdErr.Initialize

    Runner = File.Combine(File.DirInternalCache, "runner")
    Command = File.Combine(File.DirInternalCache, "command")
    File.WriteString(File.DirInternalCache, "runner", "su < " & Command)
    File.WriteString(File.DirInternalCache, "command", "date -s " & ToDate & "." & ToTime & "; \n" & CRLF & "exit")
    Result = Ph.Shell("sh", Array As String(Runner), StdOut, StdErr)
End Sub
 

JohnC

Expert
Licensed User
Longtime User
If you have a rooted device, then you probably already have super user installed or can easily install it.
 

wes58

Active Member
Licensed User
Longtime User
B4X:
Sub SetDateTime(ToDate As String, ToTime As String)
    'date needs to be in yyyymmdd format
Thanks. It works fine, but one comment about date format. It should be in "yyyyMMdd" format (i.e. MM for month not mm!)
 
Top